PHP MSSQL Server连接问题

时间:2011-10-27 11:32:13

标签: php sql-server

我有一个MSSQL server 2005数据库。我可以通过MSSLQL客户端软件(MSSQL Management Studio)连接到服务器。
问题是我无法使用相同的凭据从PHP脚本连接到服务器。并且所有mssql配置在php和apache中都有效。

这是我收到的错误:

<b>Warning</b>: mssql_connect() 
[Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: eventsearch.db.7340680.hostedresource.com in /home/horizon/public_html/openivite/server.php on line 2]

PHP:

 $this->dblink = mssql_connect(FBSERVER, FBUSER, FBPASSWORD);

所有凭据都有效且有效。

2 个答案:

答案 0 :(得分:0)

您的网络服务器是否在Windows上运行?如果是这样,你有什么版本的ntwdblib.dll?有关更深入的解释,请参阅this help page

这个错误很痛苦,因为它不是很具描述性。我记得我第一次和它搏斗(这个问题已经存在了至少几年)......但是拥有正确的DLL会让世界变得与众不同。

如果您正在尝试从Linux机箱连接,那么您可能会考虑从mod_php切换到php-cgi(反之亦然),因为我已经从中读过成功案例。但是,我不记得在将Linux Web服务器连接到MSSQL盒时遇到这个问题。

答案 1 :(得分:0)

我遇到了类似的问题,并在完成该技巧的PHP手册上找到了一条注释: https://www.php.net/manual/es/function.mssql-connect.php#105132

问题是SELinux配置(在我的CentOS机器上)。默认情况下,在启用SElinux的计算机上禁用通过php(或Apache运行的任何其他语言)的远程连接。

因此,修改策略撤销了该块,我的php脚本开始按预期工作。

命令是:

  

sudo setsebool -P httpd_can_network_connect = 1

:)