我很难找到在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->执行();
显然是查询超时。
答案 0 :(得分:3)
这不是mysql错误,它是一个php错误。 Fatal error: Maximum execution time of 30 seconds
由php.ini设置max_execution_time
设置,默认值为30.您可以更改php.ini文件,也可以使用.htaccess或您可以使用的单个函数进行调整。 set_time_limit()
命令。