PDO SQL Server扩展断断续续

时间:2012-01-27 22:37:47

标签: php sql-server apache pdo

切换数据库驱动程序后,我的dev服务器出现间歇Error 101 connection resetError 15 Socket Not Connected。原因似乎是我尝试使用SQL Server 2008 R2 SQL Native Client连接到SQL Server 2005数据库的PDO Sqlsrv驱动程序。

我的Windows事件日志在每次失败时都会在应用程序错误中显示: :

  

错误应用程序路径:C:\ wamp \ bin \ apache \ apache2.2.17 \ bin \ httpd.exe
  错误模块路径:c:\ wamp \ bin \ php \ php5.2.11 \ ext \ php_pdo_sqlsrv_52_ts_vc6.dll

服务器是从WAMPServer 2.1运行Apache 2.2.17的Windows Server 2008 R2,问题出现在PHP 5.2.11和5.3.9上。旧的mssql驱动程序在5.2.11上运行良好。

我从the official Sqlsrv driver project on codeplex获得了最新版本的驱动程序。我正在使用线程安全版本的驱动程序,因为我正在使用线程安全的PHP。 I confirmed thread safety is not the issue /我使用PHP 5.2.11驱动程序的VC6版本,因为我的副本是用VC ++ 6编译的,我使用驱动程序的VC9版本和5.3.9一样,因为它是用VC9编译的。

问题是什么或如何隔离?

2 个答案:

答案 0 :(得分:2)

有一个更新版本增加了对SQL Server 2012的支持,但我不知道这是否会有所帮助。

http://www.microsoft.com/download/en/details.aspx?id=17308

驱动程序的非PDO版本会导致同样的问题吗?

答案 1 :(得分:0)

这显然是服务器配置不正确的结果。从头开始重新安装服务器并使用PHP 5.3.9,Apache 2.2.21和sqlsrv驱动程序2.0使用php.ini和httpd.conf文件的全新副本。我相信我从旧服务器的配置中不正确地复制了一些设置,导致了不稳定的行为。