关于 PDO 驱动 Maximum execution time 的错误

线上运行的程序在日志文件中总是会报出类似以下错误,但是又无法看出问题的错误在哪里出现的,请问大家有没有遇到过类似的问题?

日志文件如下:

[2019-08-12 14:14:32] local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Maximum execution time of 180 seconds exceeded' in D:\...\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatement.php:91
Stack trace:
#0 {main}  

看了一下报错地方提到的代码(vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatement.php):

    /**
     * {@inheritdoc}
     */
    public function execute($params = null)
    {
        try {
            return parent::execute($params);
        } catch (\PDOException $exception) {
            throw new PDOException($exception);
        }
    }

看起来应该是执行某个Sql的时候耗时引发的问题,想请教大家有没有遇到类似问题,都是如何解决的。

Laravel版本5.4,PHP版本5.6

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3
Epona

优化代码吧,如果某个任务确实 需要消耗这么长的时间 可以增加执行时间

ini_set('max_execution_time', 300);
4年前 评论
mouyong

请确认你服务器能否正常连接数据库

4年前 评论

explain SQL 看是否命中索引
像这种问题你应该提供: 你单表多少数据, 你提供的错误毫无参考价值
上面的推荐都是 饮鸩止渴.

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!