【问题标题】:PDO SQL Server extension faulting intermittentlyPDO SQL Server 扩展间歇性故障
【发布时间】:2012-02-20 21:31:33
【问题描述】:

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

每次失败时,我的 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/ 我使用 VC6 版本的驱动程序和 PHP 5.2.11,因为我的副本是用 VC++ 6 编译的,我使用 VC9 版本的驱动程序和 5.3.9,因为它是用 VC9 编译的。

是什么问题,或者我该如何隔离它?

【问题讨论】:

  • 驱动问题吧?这是一个棘手的问题。
  • 我使用的是 PHP 5.2,因为我的旧框架版本不支持它。我现在可以使用 5.3 并且想使用最新的东西,但我想要任何工作。这些 sqlsrv 驱动程序的修改日期是 2010 年,真的没有更多更新了吗?
  • 为什么“离题”投票?这与编程直接相关(这是我的 PHP 设置),似乎与服务器故障无关,这是程序员问题而不是系统管理员问题。

标签: php sql-server apache pdo


【解决方案1】:

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

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

非PDO版本的驱动会不会出现同样的问题?

【讨论】:

  • 不幸(和自相矛盾)我的框架需要两个插件,尽管 PDO 似乎是它实际使用的。星期一我会尝试更新版本,看看是否有任何方法可以使用非 PDO 版本。
  • 嗯,你知道这些是不是用VC9编译的吗?我认为它们是,但我似乎无法让我的服务器加载它们
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多