Laravel 5.5:通过为我的远程mysql服务器设置了.env和database.php

您好亲爱的StackOverflow社区!


这是我第一次进行Laravel部署,我遇到的问题很可能是一个简单的答案,经过许多小时的研究,我找不到。


SQLSTATE[HY000] [2002] No such file or directory当我查看生产主页时,Laravel返回一个错误,并且我可以使用以下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服务器域名,而不是IP,因为我的主机不提供任何IP。


非常感谢您在此问题上的帮助:)


不负相思意
浏览 144回答 1
1回答

SMILET

多亏了Chris,我才意识到这个问题是由于我在尝试连接到远程数据库时没有删除套接字配置,然后才重新运行以下命令(重要步骤!):php artisan cache:clearphp artisan config:clearphp artisan config:cachephp artisan route:clearphp artisan route:cache做到这两个步骤解决了我的问题:)
打开App,查看更多内容
随时随地看视频慕课网APP