php - 使用 PDO_MYSQL 与 Zend_Db::factory 连接超时

标签 php pdo zend-db connection-timeout

当使用 Zend_Db::factory 和 PDO_MYSQL 时,使用 PHP 代码设置连接超时的正确(或更好)方法是什么。

我有:

$params = array (
    'host'      => 'localhost',
    'username'  => 'username',
    'password'  => 'password',
    'dbname'    => 'mydb',
    'charset'   => 'UTF8',
);

$db = Zend_Db::factory('PDO_MYSQL', $params);

a.)

$db->getConnection()->setAttribute(PDO::ATTR_TIMEOUT, 600);

b.)

$sql = "SET SESSION wait_timeout = 600";
$db->getConnection()->query($sql);

最佳答案

将连接超时减少到 3 秒:

$params = array (
    'host'      => 'localhost',
    'username'  => 'username',
    'password'  => 'password',
    'dbname'    => 'mydb',
    'charset'   => 'UTF8',
    'driver_options' => [
        \PDO::ATTR_TIMEOUT => 3
    ]
);

$db = Zend_Db::factory('PDO_MYSQL', $params);

关于php - 使用 PDO_MYSQL 与 Zend_Db::factory 连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27272025/

相关文章:

mysql - Laravel 未定义的类常量 MYSQL_ATTR_LOCAL_INFILE

php - 调用多个存储过程时出现MySQL PDO general error 2014

php - Zend_Db 子查询

mysql错误代码: 1052 with Zend_Db

php - 仅来自 Zend_DB Select 语句(子查询)的 COUNT(*)

php - 配置 eclipse

php - 使 SQL 行在一定时间后自行删除

php - PHP中插入数据到表

javascript - 从 PHP 发送和接收数据

php - 我可以将数组绑定(bind)到 PDO 查询中的 IN() 条件吗?