我可以使用Zend_Db_Adapter_Pdo_Mssql设置查询超时吗?
作者:互联网
我们有一个PHP应用程序(托管在Linux上),该应用程序使用Zend Framework组件查询Microsoft SQL Server 2008数据库. PHP应用程序托管在具有可靠Internet连接的数据中心中,但是SQL Server数据库位于VPN连接的末端,该连接定期退出.
我们的问题是,在对SQL Server进行查询时,有时会发生VPN中断.发生这种情况时,我们的应用程序可能要等待2个小时才能最终引发以下异常:
SQLSTATE[HY000]: General error: 20004 Read from the server failed [20004] (severity 9) [(null)]
我想做的是将整个查询超时和/或读取超时设置为2-3分钟左右,以便应用程序更早地获得异常并从中恢复,而不会阻塞2个小时.
我们正在使用pdo_dblib扩展名来连接到SQL Server,并且已经查看了php.net文档,但找不到用于php.ini的任何超时选项.
解决方法:
尝试使用PDO :: ATTR_TIMEOUT属性.我不确定pdo_dblib的默认值是什么,驱动程序之间可能会有所不同.
标签:zend-db,php,sql-server,pdo 来源: https://codeday.me/bug/20191030/1971386.html