繁体   English   中英

使用MAMP的Laravel错误:Connector.php第55行中的PDOException:

[英]Laravel Error using MAMP: PDOException in Connector.php line 55:

我对laravel并不陌生,并正在研究一些laracast(当前为Fetching Data部分)。 在实现数据库的东西时,我很忙。 我没有使用Homebrew或Vagrant,而是使用MAMP。 我能够运行php artisan migrate从教程中创建表就好了。 现在(按照本教程操作)当我转到localhost:8000 / cards时,出现以下错误:

PDOException in Connector.php line 55:
SQLSTATE[HY000] [2002] Connection refused

经过大量搜索,我发现我需要编辑.env文件和config / database.php文件,这是使我能够成功运行php artisan migrate migration的原因。

这是我的.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。

使用此线程 ,我已经尝试过php artisan config:clear我也尝试关闭并重新启动MAMP,但仍然收到错误。

在此处输入图片说明

对于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,
    ],

而且您会很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM