当mysql服务器没有响应时,register_shutdown_function无法正常工作

时间:2011-08-02 22:54:00

标签: php mysql error-handling pdo

我正在尝试执行 register_shutdown_function ,当Zend_Db(PDO_MYSQL)无法访问mysql服务器10.0.0.36但它挂起 30秒然后显示下一个错误:

  

警告:PDO :: __ construct()[pdo .-- construct]:[2002] Se produjo un   错误durante el intentodeconexiónyaque la par(试图连接   通过tcp://10.0.0.36:3306)in   第129行的C:\ AppServ \ php5 \ pear \ Zend \ Db \ Adapter \ Pdo \ Abstract.php

     

致命错误:超过5秒的最长执行时间   第129行的C:\ AppServ \ php5 \ pear \ Zend \ Db \ Adapter \ Pdo \ Abstract.php

挂起30秒,但我有一个set_time_limit(5)。通常,关闭函数会捕获所有错误,FATAL ERROR包含只会在这种情况下失败。

发生了什么事?如何触发关闭功能,或者观察5s的时间限制?

1 个答案:

答案 0 :(得分:0)

这在Zend_Db中有效:

'adapter' => 'PDO...',
'params' => array(
    'username' => '...',
     //...
    'driver_options' => array(PDO::ATTR_TIMEOUT, 5)
 );

现在它不会挂起30秒,而shutdown_function会再次起作用。