【发布时间】:2017-08-03 05:14:17
【问题描述】:
我浏览了 laravel 待办事项应用程序,却被困在 php artisan migrate 部分。我知道这个问题已经在这里发布了很多次,但我觉得我已经尝试了很多不起作用的建议——将主机更改为 localhost 和 127.0.0.1,生成 .env 文件的密钥,添加一个套接字,强制迁移等。下面是我的 .env 和数据库文件的屏幕截图,供您参考。非常感谢任何帮助!
【问题讨论】:
标签: laravel
我浏览了 laravel 待办事项应用程序,却被困在 php artisan migrate 部分。我知道这个问题已经在这里发布了很多次,但我觉得我已经尝试了很多不起作用的建议——将主机更改为 localhost 和 127.0.0.1,生成 .env 文件的密钥,添加一个套接字,强制迁移等。下面是我的 .env 和数据库文件的屏幕截图,供您参考。非常感谢任何帮助!
【问题讨论】:
标签: laravel
自从我使用 MAMP 后遇到了同样的问题。我在 laravel 5.5 上,所以我的 database.php 在 mysql 指令下有这一行:
'unix_socket' => env('DB_SOCKET', ''),
解决方案是添加环境文件中缺少的 DB_SOCKET 选项:
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
【讨论】:
因此,由于您使用的是 MAMP,因此有一些注意事项可能不清楚,例如 MAMP 未使用普通的 UNIX 套接字。
但要解决您的问题,您需要在数据库配置文件中执行以下操作,将 unix_socket 替换为:
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
您可能还需要运行:
php artisan cache:clear
如果您的配置文件之前已被缓存。
【讨论】:
我在使用 Laravel 5.7.3 和 XAMPP for OS X(不是 XAMPP-VM)时遇到了同样的问题,并通过在 post 中参考 Kyo 的解决方案设法解决了这个问题。
我更新了 config/database.php 中的第 49 行:
'unix_socket' => env('DB_SOCKET', ''),
与
'unix_socket' => env('DB_SOCKET', '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'),
我也尝试了上面 TechyTimo 的解决方案,这也对我有用。我认为使用此解决方案会更好,因为所有配置都保存在一个文件中。
【讨论】: