【问题标题】:How to set command timeout in yii?如何在 yii 中设置命令超时?
【发布时间】:2014-08-13 20:06:49
【问题描述】:

我正在努力寻找在 Yii 中为 MySql 数据库设置命令超时的位置(一些查询需要一段时间才能运行)。

在源代码中,文件 protected/config/main.php 具有以下设置:

'db'=>数组('connectionString' => 'mysql:host=xxx;dbname=xxx;port=xxx;timeout=100;', 'emulatePrepare' => true, 'username' => 'xxx', 'password' => 'xxx', 'charset' => 'utf8', 'schemaCachingDuration'=>3600, ),

超时似乎适用于连接,命令超时默认为30秒(这是我需要增加的)。

从 db 获取网页通常会失败并出现致命错误:\YiiRoot\framework\db\CDbCommand.php 第 508 行中的最大执行时间超过 30 秒。

第 508 行是

$this->_statement->execute();

很明显是查询超时。

【问题讨论】:

    标签: php mysql yii


    【解决方案1】:

    这不是mysql错误,是php错误。 Fatal error: Maximum execution time of 30 seconds 由 php.ini 设置 max_execution_time 默认设置为 30。您可以更改 php.ini 文件,也可以使用 .htaccess 或在单个函数上调整它,您可以使用 set_time_limit() 命令.

    http://www.php.net//manual/en/function.set-time-limit.php

    【讨论】:

    • 是的,成功了,我不是 PHP 专家,谢谢!
    猜你喜欢
    • 2012-05-17
    • 1970-01-01
    • 2016-12-27
    • 2012-01-16
    • 1970-01-01
    • 2019-09-20
    • 2023-03-22
    • 2016-08-26
    • 1970-01-01
    相关资源
    最近更新 更多