- 论坛徽章:
- 0
|
我也有遇到这样的问题.不过看似上面的说法都不正确我在此贴上我找到的贴子
http://www.linuxsir.org/bbs/thread73846.html
免去大家去查的工作.看下面的.但愿能帮到一些如我的朋友
- 道理很简单,因为你的mysql_connect是一个localhost,而不是你服务器的名字,如
- 果是localhost, PHP就会用mysql.sock文件,而不用正常的TCP连接。
- apache在OpenBSD下都是chroot过了,这一点你可以 ps agx | grep httpd | grep parent 看到,chroot过apache根目录在/var/www,而你的mysql mysql.sock 文件在/var/run/mysql.
- 有两个解决方案:
- 1。mysql_connect 不用localhost,而是你的服务器名字[url]www.yourserver.blablabla[/url]
- 2. 在 /etc/rc.conf 里的httpd,加"-u" httpd_flags="-u" 这样apache就不chroot了,不过我不喜欢这个方案,不安全。。。
- man chroot , man rc.conf
复制代码 |
|