是否可以将Doctrine与持久性PDO连接一起使用?

and*_*dig 7 php pdo doctrine-orm

我正在尝试通过启用持久数据库连接来提高volkszaehler.org实现的性能.攻击包含了Doctrine的ConnectionPDO::ATTR_PERSISTENT => true,我得到了PDO错误General error: PDO::ATTR_STATEMENT_CLASS cannot be used with persistent PDO instances"

有没有什么办法解决这一问题?

小智 16

您可以将自己的PDO实例传递给Doctrine,自己设置持久连接:

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_PERSISTENT => true
));

$config = new \Doctrine\DBAL\Configuration();
$connectionParams = array(
    'dbname' => 'mydb',
    'user' => 'user',
    'password' => 'secret',
    'host' => 'localhost',
    'pdo' => $dbh,
);
$conn = \Doctrine\DBAL\DriverManager::getConnection($connectionParams, $config);
Run Code Online (Sandbox Code Playgroud)

请务必了解与PDO使用持久连接的含义:在PDO中使用持久连接有哪些缺点