我正在使用:
具体来说,我得到的错误是:
Connector.php第47行中的PDOException: SQLSTATE [HY000] [2002]没有这样的文件或目录
在我的Laravel项目中,在config / database.php中,我有:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'database' => env('DB_DATABASE', 'stocks'),
'username' => env('DB_USERNAME', 'stock_admin'),
'password' => env('DB_PASSWORD', 'password'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
在我的.env文件中:
APP_ENV=local
APP_DEBUG=true
APP_KEY=KGY7geRpdCKywyqFhlBFvfNX1g5wXal0
DB_HOST=127.0.0.1
DB_DATABASE=stocks
DB_USERNAME=stock_admin
DB_PASSWORD=password
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
我尝试在localhost和127.0.0.1之间更改DB_HOST无效。
我已经通过brew安装了mysql。 当我在finder中查找它时,实际文件/Applications/MAMP/tmp/mysql/mysql.sock不存在。
我已经检查了我的/ Applications / MAMP / bin文件:
startmysql.sh
#!/bin/sh
/Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log &
和stopMysql.sh:
#!/bin/sh
/Applications/MAMP/Library/bin/mysqladmin -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock shutdown
我也尝试使用这些命令创建符号链接:
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
和
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/tmp/mysql.sock
它似乎不起作用。
我理解mysql.sock文件是动态创建的,但在我的情况下似乎不会发生。我不确定如何从这里开始;感觉好像我已经尝试了一切。任何帮助表示赞赏。