PDO不会为MAX_STATEMENT_TIME抛出异常

时间:2017-11-07 10:16:21

标签: php mysql pdo percona

我们正在运行Percona Server 5.6.36-82.1-log和PHP 7.0.19。

使用max_statement_time设置数据库,以在10秒后自动超时查询。当在PHPMyAdmin中运行(非常)慢查询时,它们会因正确的mysql错误而超时。

但是在我们的webapp中运行查询时,使用PDO。查询在超时后停止,但不会引发错误/抛出异常。查询只是停止并且没有结果,就像常规查询停止而没有任何结果一样。

使用ATTR_TIMEOUT = 1选项创建PDO对象。 后来我们补充说 ATTR_ERRMODE = ERRMORE_EXCEPTION, ATTR_DEFAULT_FETCH_MODE = FETCH_ASSOC ATTR_EMULATE_PREPARES = false

这种情况需要什么才能抛出预期的异常?

0 个答案:

没有答案