php - Laravel 使用 MAMP : PDOException in Connector. php 第 55 行时出错:

标签 php mysql laravel laravel-5

我对 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

这是我的 .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 但仍然收到错误。

enter image description here

最佳答案

使用 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,
    ],

你就可以开始了。

关于php - Laravel 使用 MAMP : PDOException in Connector. php 第 55 行时出错:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698670/

相关文章:

php - 在 Illuminate\Database\QueryException 处找不到列错误?

php - 如何将 form_validation 设置为 Codeigniter 中文件所需的?

带有 jquery slidedown 的 PHP ajax

php - 使用 PHP 从 Pdf 中提取文本

php - 从数据库中获取多个值

Mysql 插入时丢失 11 条记录

php - 从 MySQL 反序列化为多维 PHP 数组

Laravel - 忘记参数

Laravel 软删除 restore() 错误

php - 抓取 Paypal 返回值