我正在连接到 FireBird 数据库,该数据库在线时工作正常。当服务器离线时,用户会收到最大执行时间传递错误。
因此我想用 try catch 包围连接语句并将超时设置为 10 秒。但是我找不到合适的属性来这样做。默认的 ATTR_TIMEOUT 似乎不起作用。谁能告诉我 PDO 和 FireBird 是否可行?
最佳答案
不确定 PHP/PDO,但您可以尝试在 firebird.conf 文件中有 ConnectionTimeout 参数。默认值为 180 秒(引用自 conf 文件):
# ----------------------------
# Client Connection Settings (Basic)
#
# Seconds to wait before concluding an attempt to connect has failed.
#
# Type: integer
#
#ConnectionTimeout = 180
如果您的 FireBird 服务器不在运行 PHP 脚本的同一台服务器上,并且您在“PHP 服务器”上没有 firebird.conf 文件,请尝试将一个文件放入 fbclient dll 所在的同一目录中。或者,如果定义了 FIREBIRD 环境变量,则进入 var 指向的目录。
关于PHP PDO : Set FireBird connection timeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7453527/