Zend 网站的响应非常缓慢,xdebug 显示类 Doctrine\DBAL\Driver\PDOConnection 的延迟为 20.000 毫秒(20 秒)。该类的源代码如下:
namespace Doctrine\DBAL\Driver;
use \PDO;
/**
* PDO implementation of the Connection interface.
* Used by all PDO-based drivers.
*
* @since 2.0
*/
class PDOConnection extends PDO implements Connection
{
public function __construct($dsn, $user = null, $password = null, array $options = null)
{
parent::__construct($dsn, $user, $password, $options);
$this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('Doctrine\DBAL\Driver\PDOStatement', array()));
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
}
什么可能导致 20 秒的连接时间?需要注意的是,我在同一台服务器上还有其他网站使用 PDO,但只有 Zend 有这个问题。