2012-03-14 170 views
0

我有一个网站,occacionally无法连接到数据库。 它在这里和那里只有几个页面的请求有问题开始,但过了一段时间它只是停下来,根本无法连接。这是错误消息我得到:mssql_connect停止工作一段时间后

警告:mssql_connect()[function.mssql-连接]:无法 连接到服务器:本地主机在 C:\ wwwroot的\ x.se \根\类\在 线520

adodb5 \ DRIVERS \ ADODB-mssql.inc.php如果我重新启动Apache,它再次正常工作了一段时间 - 所以它似乎没有要与DBSERVER一个问题。我试图更新ntwdblib.dll,但它没有帮助。

这是环境:

  • 的Windows Server 2003 R2标准版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 On On
  • 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_severity 10 10
  • mssql.min _message_severity 10
  • mssql.secure_connection关关
  • mssql.textlimit Server的默认服务器默认
  • mssql.textsize Server的默认服务器默认
  • MSSQL。timeout 60 60

升级ADODB从V5.06(2008年10月16日)升级到V5.15(2012年1月19日)也没有帮助。

..并且将PHP堆栈从v5.2.9-2(2009年2月26日)升级到5.2.17(2011年3月22日13:29:30)无效。

+0

您是否每次在查询中使用它时都关闭连接? – 2012-03-14 10:54:42

+0

不,我认为PHP在处理页面后应该自己做。也许我可以尝试关闭所有页面中包含的页脚文件中的任何打开的连接。 – 2012-03-14 10:57:32

+0

你可以尝试安装mtop并告诉我们该服务器是什么? – 2012-03-14 11:12:51

回答

1

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

0

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

+0

看起来已经在使用了。我正在用数据更新我的帖子。 – 2012-03-14 11:29:56

+0

这似乎很奇怪,它会启动,但服务器仍然会在“mssql_connect()”而不是“mssql ** _ p ** connect()”中报告警告。 – KillerX 2012-03-14 11:34:19

相关问题