gpt4 book ai didi

php - mysql_connect() 在由 apache 运行时不起作用;从命令行工作

转载 作者:可可西里 更新时间:2023-11-01 08:22:36 26 4
gpt4 key购买 nike

我有一个奇怪的问题。我正在尝试在我的服务器上编写一个简单的 php 网页,但是 mysql_connect() 没有连接到任何服务器,无论是本地服务器还是其他服务器。这就是它变得奇怪的地方。如果我使用相同的 php 脚本并从命令行运行它,脚本就可以工作。 phpinfo() 表示文件(由 apache 运行)和命令行(以 root 运行)都调用相同版本的 php,加载 mysql,并且 php.ini 相同。

此外,我在同一台服务器上运行 MediaWiki 安装,它使用本地安装的 mysqld 并且工作正常,所以我完全不知道为什么代码不工作。我在运行时收到的错误:

Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (13)

(为了我正在连接的服务器所有者的隐私,IP 已被排除)

最佳答案

您尝试从哪个操作系统连接?听起来可能是 SELinux 问题。

使用 SELinux,您通常可以 allow apache to make network connections通过使用

/usr/sbin/setsebool httpd_can_network_connect 1

或 /usr/sbin/setsebool httpd_can_network_connect true

没有 SELinux 的操作系统可能有类似的保护机制。

关于php - mysql_connect() 在由 apache 运行时不起作用;从命令行工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3020409/

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