php - 在 postgresql PDO 连接中设置连接超时参数

标签 php postgresql zend-framework pdo

出于某种原因,我想将 postgresql 连接超时设置为 5 秒。我正在使用 Zend Framework 1.12,为了创建 postgresql 连接,我正在使用 Zend_Db_Adapter_Pdo_Pgsql 类,我没有找到任何可以定义连接超时的参数。

我四处寻找,但没有找到任何东西。请给我一些建议,我该怎么做。

谢谢

最佳答案

我找到了解决方案:你需要在每次查询前设置一个超时时间:

$db->beginTransaction();
$db->query('SET LOCAL statement_timeout = 2000'); //2 Sek. Timeout
$res = $db->fetchAll($select);

这只会影响对数据库的 NEXT 查询,并且重要的是您有一个事务。没有交易,它将无法工作。 如果你在它之后再做一个Query(捕获超时,回滚事务),它仍然会有默认的TIMEOUT。 创建数据库例程将不起作用!您确实必须在函数中设置超时。

关于php - 在 postgresql PDO 连接中设置连接超时参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30573567/

相关文章:

php - 包含目录中的 all/javascript/*.js

database - 添加新节点后 PostgreSQL Citus 碎片重新平衡 -> 连接到远程节点 localhost :5432 failed with the following error

python - 生成postgresql用户密码

zend-framework - 更改 Zend Framework 模块 View 脚本路径

zend-framework - Zend Session Handler Db 表在 PHPUnit 测试期间被破坏

php - MAMP 的 php 交互模式坏了?

php - 使用 homebrew 安装后如何启用 memcached PHP 扩展?

php - 使用 php curl 逐 block 下载大文件

ruby - 遍历 Ruby 中 pg_conn 查询的所有值

php - 具有多个 PHP 版本的 XAMPP 中的 <虚拟主机>