【发布时间】:2020-01-19 17:35:28
【问题描述】:
我最近在 macOS High Sierra 10.13.6 上通过自制软件全新安装了 mysql 8.0.19。可以看到我做brew services list的时候mysql服务已经启动了。我还可以使用mysql -u root 通过控制台登录并执行查询等等。
我使用 Valet 安装了一个全新的 Laravel 项目,但无法运行数据库迁移。我的环境变量看起来都是正确的:
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
我可以使用此信息(无 root 密码)连接到 MySQL Workbench。然而,每当我运行php artisan migrate 时,我都没有收到任何错误,也没有任何控制台输出。它只是卡住了。当我使用php artisan tinker 然后DB::connection()->getPdo() 时,也会发生同样的事情。没有输出也没有错误。 storage/logs 也没有登录。
相关config/database.php:
...
'default' => env('DB_CONNECTION', 'mysql'),
'connections' => [
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
],
...
在随机视图上转储DB::connection() 会产生正确的配置:
protected 'config' =>
array (size=15)
'driver' => string 'mysql' (length=5)
'host' => string '127.0.0.1' (length=9)
'port' => string '3306' (length=4)
'database' => string 'laravel' (length=7)
'username' => string 'root' (length=4)
'password' => string '' (length=0)
'unix_socket' => string '' (length=0)
'charset' => string 'utf8mb4' (length=7)
'collation' => string 'utf8mb4_unicode_ci' (length=18)
'prefix' => string '' (length=0)
'prefix_indexes' => boolean true
'strict' => boolean true
'engine' => null
'options' =>
array (size=0)
empty
'name' => string 'mysql' (length=5)
【问题讨论】:
-
你尝试过其他工匠命令吗?
-
是的,像
php artisan make:policy Foobar这样的东西可以按预期工作。我也可以很好地在浏览器中加载视图,只是没有数据库交互。 -
您确定您的
env文件会覆盖您的配置文件吗? -
看起来像,
php artisan tinker和env('DB_DATABASE', 'foobar')显示来自.env文件的正确信息。config/database.php文件看起来也正确。 -
确保尝试将相同的信息从
env文件复制到config\database.php文件
标签: php mysql laravel homebrew