我在网络服务器上使用MAMP:
以下是我的代码 的配置/ database.php中
'mysql' => [
'driver' => 'mysql',
'unix_socket' => '/Application/MAMP/tmp/mysql/mysql.sock',
'host' => env('DB_HOST'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
.ENV
APP_ENV=local
APP_DEBUG=true
APP_KEY=dfsfsdffsd
DB_HOST=localhost
DB_DATABASE=my_database
DB_USERNAME=my_db_username
DB_PASSWORD=my_db_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
MAIL_ENCRYPTION=null
运行php artisan migrate
时出现此错误:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
可能有什么问题?提前谢谢
答案 0 :(得分:2)
首先尝试将命令更改为此
php artisan migrate --env=local
如果这不起作用,请确保MySQL已启动并运行,并确保它使用默认端口3306
。
此外,尝试从命令行连接到MySQL以确保您可以连接到MySQL。打开命令行尝试连接,如此
mysql -hlocalhost -uroot -p
看看你是否能够连接。如果这不起作用,您可能需要将localhost
更改为127.0.0.1
或使用此行更新您的主机文件
127.0.0.1 localhost
127.0.0.1 127.0.0.1
我还会将此行添加到您的.env文件
DB_CONNECTION=mysql
如果上述所有操作都失败了,我会说你的套接字值设置不正确。
尝试从
更改套接字值/Application/MAMP/tmp/mysql/mysql.sock
到
/Applications/MAMP/tmp/mysql/mysql.sock
您可以考虑为PHP创建一个php.ini文件
打开php.ini文件并查找pdo_mysql.default_socket
并设置为:
pdo_mysql.default_socket=/Applications/MAMP/tmp/mysql/mysql.sock