2012-03-14 200 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

相關問題