我对laravel非常新,并且正在通过一些laracasts(目前是Fetching Data部分)。在实现数据库的时候,我会挂断电话。我没有使用Homebrew或Vagrant,我正在使用MAMP。我能够运行php artisan migrate
来完成教程中的表格。现在(按照教程)当我转到localhost:8000 /卡时,我收到以下错误:
PDOException in Connector.php line 55:
SQLSTATE[HY000] [2002] Connection refused
经过大量的搜索,我发现我需要编辑我的.env文件和config / database.php文件,这使我能够成功运行php artisan migrate
。
这是我的.env文件:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=webapp
DB_USERNAME=root
DB_PASSWORD=root
这是我的database.php文件:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '8889'),
'database' => env('DB_DATABASE', 'webapp'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'root'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
那么为什么我无法访问教程url localhost:8000 / cards?错误消息引用了自制软件,但我没有使用我使用MAMP。
Using this thread,我已经尝试php artisan config:clear
我也尝试关闭并重新启动MAMP,但仍然收到错误。
答案 0 :(得分:1)
使用MAMP,您需要使用unix_socket
将其连接到SQL。修改database.php
以添加套接字行,如下所示。
'mysql' => [
'driver' => 'mysql',
'unix_socket'=>'/Applications/MAMP/tmp/mysql/mysql.sock',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
你会很高兴。