MSSQL PHP 无法通过 apache 帐户连接

MSSQL PHP 无法通过 apache 帐户连接

我已经与此斗争了一天,希望有人已经遇到过这个问题并能帮助我:

我有一台 CentOs 服务器

[root@XXXXX ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)

这将是启用了 PHP 的网络服务器(已安装,还有 php-mssql 包)

[root@XXXXX ~]# php -i
phpinfo()
PHP Version => 5.3.3
...
Configuration
...
mssql
MSSQL Support => enabled
...
Library version => FreeTDS

有一个 index.php

$cn = mssql_connect($dbserver,$dbusername,$dbpassword) or die("Connection Error");

$dbserver, $dbusername, $dbpassword再三检查。

如果我从浏览器调用它,它会引发连接错误,但如果我以 root 身份在终端中编译它,它就可以工作:

[root@XXXXX ~]# php /var/www/html/index.php
<h1> SQL CONNECTION TEST: </h1>
<h2> Result </h2>
Connection OK!Query OK!

我猜是 apache 帐户缺少权限,但是是哪一个呢?

提前感谢您的帮助!

答案1

如果您在启用 SELinux 的情况下运行(您应该这样做),您将需要允许 apache 与数据库通信,这可以通过以下方式完成:

setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_network_connect_db on

这些命令将需要几秒钟才能运行,所以如果它们没有立即返回,请不要担心。

相关内容