你好,亲爱的stackoverflow社区!
这是我第一次运营Laravel部署,我遇到的问题可能有一个简单的答案,经过许多小时的研究,我找不到我找不到的。
Laravel查看生产主页时,正在返回错误SQLSTATE[HY000] [2002] No such file or directory
,并且我能够使用以下SSH命令来跟踪数据库的问题: mysqladmin -u root -p status
返回:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
因此,Laravel似乎登录了我的本地.env值,但是我只有一个.ENV文件,该文件在服务器上配置为生产:
DB_CONNECTION=mysql
DB_HOST=my_distant_mysql_server_domain
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=user_name
DB_PASSWORD=xxxxxxxx
我还配置了database.php,无济于事:
'default' => env('DB_CONNECTION', 'mysql'),
[...]
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'my_distant_mysql_server_domain'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'database_name'),
'username' => env('DB_USERNAME', 'user_name'),
'password' => env('DB_PASSWORD', 'xxxxxxxx'),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
这里有人知道我可能错过的东西吗?
我还尝试了此线程中提供的所有决议,但我的问题仍然存在:Laravel 5应用程序不断使用旧数据库连接
不幸的是,我必须使用MySQL Server域名,而不是IP,因为我的托管不提供任何IP。
非常感谢您对此事的帮助:(
感谢Chris,我意识到这个问题来自于我在尝试连接到远程数据库时没有删除套接字配置的事实(重要步骤!(重新运行以下命令:
php artisan cache:clear
php artisan config:clear
php artisan config:cache
php artisan route:clear
php artisan route:cache
做这两个步骤解决了我的问题:(