PHP不能连接到我的chroot MySQL socket


PHP can't connect to my chrooted MySQL socket?

所以我已经在CentOS上设置了MySQL chroot。MySQL被有效地限制在/opt/chroot/MySQL/中,我已经修改了/etc/init.D/mysqld文件,以便一切正常运行。我可以(作为根用户)通过发出以下命令连接到套接字:

mysql -S /opt/chroot/mysql/var/lib/mysql/mysql.sock

目前,为了简单起见,MySQL root用户没有密码。

然而,由于某些原因,PHP(在Apache中运行)无法连接到相同的套接字。我尝试在php.ini中更新MySQL默认套接字变量,以及在连接时引用完整的套接字路径,但我总是得到相同的错误:

无法通过套接字'/opt/chroot/MySQL/var/lib/MySQL/MySQL连接到本地MySQL服务器。袜子"(13)

任何想法?

Update:自己找到解决方案。

Apache是否有权遍历/读取该路径中的所有目录?仅仅因为您以root身份从命令行执行某些操作,并不意味着对Apache没有任何影响。这是一个完全不同的用户ID和一个完全不同的环境。