如何在yii中设置命令超时?

时间:2014-06-23 17:24:10

标签: php mysql yii

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

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

  

'db'=> array('connectionString'=>   'mysql:host = xxx; dbname = xxx; port = xxx; timeout = 100;','emulatePrepare'   =>是的,'用户名'=> 'xxx','密码'=> 'xxx','charset'=> 'utf8','schemaCachingDuration'=> 3600,),

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

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

第508行

  

$这 - > _statement->执行();

显然是查询超时。

1 个答案:

答案 0 :(得分:3)

这不是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