php - laravel : SQLSTATE[HY000] [2002] No such file or directory, 中的错误套接字文件的路径不起作用

标签 php mysql laravel laravel-5.4

从昨天开始我就遇到了一个无法解决的问题。

当我想连接主机的数据库时出现错误,错误是没有这样的文件或目录,我查找了socket文件的路径,路径是/var/run/mysqld/mysqld.sock所以我改变了文件路径。在本地,它的功能是我在网上但在生产中没有的解决方案

这里是 laravel .env 文件的conf

DB_Connection = mysql

DB_HOST = hXXmysqlXXX

DB_PORT = 3306

DB_DATABASE = XXX_test
DB_USERNAME = XXX_bdd

DB_PASSWORD = XXXX

'# DB_SOCKET = / tmp / mysql.sock (it's a comment)

DB_SOCKET = /var/run/mysqld/mysqld.sock

不幸的是,这并没有解决错误。

你能帮我解决这个问题吗?

谢谢

(我已经研究过这个问题,但没有找到解决方案。请原谅我的英语,这不是我的母语)

最佳答案

您是否正在寻找连接到本地数据库或远程数据库(位于其他计算机/服务器上的数据库)?

在 Unix 上,MySQL 程序特别对待主机名 localhost, 与其他基于网络的程序相比,其方式可能与您的期望不同。

对于到本地主机的连接,MySQL 程序尝试使用 Unix 套接字文件连接到本地服务器。即使使用 --port 或 -P 选项来指定端口号,也会发生这种情况。

要确保客户端与本地服务器建立 TCP/IP 连接,请使用 --host 或 -h 指定主机名值 127.0.0.1,或者本地服务器的 IP 地址或名称。您还可以使用 --protocol=TCP 选项显式指定连接协议(protocol),甚至对于本地主机也是如此。

协议(protocol)可以是{TCP|SOCKET|PIPE|MEMORY}

简而言之:您不必为远程连接指定 sock 文件。

关于php - laravel : SQLSTATE[HY000] [2002] No such file or directory, 中的错误套接字文件的路径不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48523802/

相关文章:

php - 将对象集合限制为唯一的集合

php - PHP中的MySql更新语句

php - Laravel 自定义 created_at 和 updated_at

php - Laravel 原始查询和 Eloquent ORM 关系

php - Cpanel 上的 Laravel 共享主机

php - 突然出现 Apache 错误? fatal error : Uncaught Error

php - 重定向到域并将其显示在地址栏中

php - Codeigniter Ajax 删除一条记录并返回可用记录数

mysql - 如何获取按特定列分组的第一条和最后一条记录?

mysql - XtraBackup 将服务器传输到服务器数据库而不创建文件