PHP 无法连接到 MySQL

PHP 无法连接到 MySQL

我刚刚在 Fedora 23 机器上编译了 PHP 7.0.4,创建了一个测试脚本来连接到本地主机上的 MySQL,我得到的是:

Error: Unable to connect to MySQL. Debugging errno: 2002 Debugging error: No such file or directory

根据 PHP 的说法,这是因为 PHP 找不到 /tmp/mysql.sock,但该文件确实存在,因此我重新配置了 MySQL 和 PHP,让它们都指向同一个文件,但没有成功,这是 /tmp 显示的有关 mysql.sock 的信息:

lrwxrwxrwx   1 root  root    25 Mar 21 10:13 mysql.sock -> /var/lib/mysql/mysql.sock

我不知道此时该做什么,因为当我将脚本更改为连接到 127.0.0.1 时,它可以正常工作。

stackoverflow 上的其他人告诉我把这个发布到这里,看看是否可以获得更多帮助,因为我用来连接的代码没有任何问题。(相关问题:https://stackoverflow.com/questions/36065587/php-not-seeing-mysql-sock-from-the-web

最后,我的防火墙被屏蔽了,我的 selinux 被禁用了,我也从控制台对其进行了测试并且它可以工作,但它不能仅通过 Web 工作,尽管 phpinfo() 显示了这一点。

mysqli.default_socket   /tmp/mysql.sock /tmp/mysql.sock

答案1

事实证明,当我构建 PHP 时,我没有包含 --with-mysql-sock=/path/to/mysq.sock,因此即使它是在 php.ini 中设置的,它也不知道在哪里找到它,一旦我包含它,它就可以工作了。

谢谢大家的帮助。

相关内容