gpt4 book ai didi

php - Apache2 mod_ruid2 和 Document ChRoot — 无法连接到 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 14:08:09 27 4
gpt4 key购买 nike

在 Apache2 虚拟主机中,我已经使用 RMode stat 让 mod_ruid2 按照我想要的方式工作。我添加了 RDocumentChRoot 以将进程 chroot 到网站文件夹,但一个不需要的副作用是 PHP 无法连接到 MySQL 数据库。我用 Google 搜索寻求帮助,但没有找到任何内容。

谁能给我一些绳子吗?

最佳答案

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

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

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com