我们正在运行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
这种情况需要什么才能抛出预期的异常?