在Apache2虚拟主机中,我可以使用RMode统计信息来使mod_ruid2正常工作。我添加了RDocumentChRoot来将进程chroot到网站文件夹,并且有害的副作用是PHP无法连接到MySQL数据库。我在Google上寻求帮助,但找不到任何东西。

有人可以给我扔绳子吗?

最佳答案

感谢Mario提到“ mysql socket something”。经过一番搜索,我发现MySQLD使用一个名为mysqld.sock的文件作为接收连接的可选方式。在系统上运行“ locate * .sock”将显示.sock文件。 dkim-filter也使用.sock文件。根据我读过的另一个网站,套接字文件是由应用程序创建的FIFO文件,它们无非充当重定向管道,以允许应用程序彼此通信而无需通过其他套接字配置。

在我询问的情况下,chroot的php进程无法访问.sock文件,因为该文件位于chroot之外。幸运的是,由于连接变量,我推断PHP使用.sock文件。在WordPress中,默认配置使用“ localhost”。 PHP中的“ localhost”规范将导致PHP查找.sock文件,而不进行网络连接。将“ localhost”更改为“ 127.0.0.1”可以很好地解决此问题。无需硬链接或其他解决方法。

关于php - Apach2 mod_ruid2和RDocumentChRoot-无法连接到MySQL数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14026821/

10-11 04:44