mssql_connect在一段时间后停止工作


mssql_connect stops working after some time

我有一个网站有时无法连接到数据库。它一开始只是在一些页面请求上出现问题,但过了一段时间,它就停止了,根本无法连接。这是我收到的错误消息:

警告:mssql_connect()[function.msql-connect]:无法连接到服务器:localhostC: ''wwwroot''x.se''root''classes''adodb5''drivers''adodb-mssql.inc.php on520线

如果我重新启动Apache,它会在一段时间内再次正常工作,所以dbserver似乎不会有问题。我尝试更新ntwdblib.dll,但没有帮助。

这就是环境:

  • Windows Server 2003 R2 Standard Edition SP2
  • PHP版本5.2.9-2线程安全已启用
  • Apache 2.0.63(Win32)
  • MS SQL Server 2005

最重要的是,由于各种原因,我不能把这个实时服务器关闭几个小时,然后重新安装东西(如果其他一切都失败了,我想我必须这样做)。我可能会尝试更新PHP和/或Apache,但我正在寻找侵入性较小的解决方案。

phpinfo()输出:

  • mssql
  • MSSQL支持已启用
  • 活动持久链接1
  • 活动链接1
  • 库7.0版
  • 指令本地值主值
  • mssql.allow_persistent打开
  • mssql.batchsize 0 0
  • mssql.compatability_mode关闭关闭
  • mssql.connect_timeout 5 5
  • mssql.datetimeconvert打开打开
  • mssql.max_links无限无限
  • mssql.max_persistent无限制无限制
  • mssql.max_procs无限无限
  • mssql.min_error_security 10 10
  • mssql.min_message_severity 10 10
  • mssql.secure_connection关闭关闭
  • mssql.textlimit服务器默认服务器默认
  • mssql.textsize服务器默认服务器默认
  • mssql.timeout 60 60

将ADODB从V5.06(2008年10月16日)升级到V5.15(2012年1月19日)也无济于事。

将PHP堆栈从v.2.9-2(2009年2月26日)升级到5.2.17(2011年3月22日13:29:30)没有成功。

我只是简单地关闭了php.ini中的mssql持久连接,现在它似乎可以工作了。

您尝试过使用持久连接吗?如果你经常联系,可能会有所帮助:http://php.net/manual/en/function.mssql-pconnect.php