- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从昨天开始我就遇到了一个我无法解决的问题。
当我想连接到主机的数据库时出现错误,错误是No such file or directory
,我找了socket文件的路径,路径是/var/run/mysqld/mysqld.sock
所以我改了文件路径。在本地,它的功能是我在网上拥有的解决方案,但在生产中没有
这里是 laravel .env
文件的配置
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/
我是一名优秀的程序员,十分优秀!