间歇性地获得“最长执行时间”错误

时间:2013-03-10 11:07:35

标签: php mysql

我正面临这个问题,首先我想说我是PHP和MySQL的新手。

Fatal error: Maximum execution time of 30 seconds exceeded in 
.........................\cdn\wished.php on line 3

我不知道第3行出了什么问题,有时只给出错误。这是我的代码:

<?php
//wished.php
$CheckQuery = mysql_query("SELECT * FROM users WHERE ownerid='$user->id'");
$wished = 0;
while($row = mysql_fetch_assoc($CheckQuery))
{
//  echo $row['fname']."<br/>";
    $wished++;
}
echo $wished;
?>

当我在 XAMPP 的localhost中运行它时,这是完美的。只要我在我的域上托管我的应用并使用他们的数据库,它就会开始出错。

感谢每一个人:)

1 个答案:

答案 0 :(得分:1)

问题是SQL查询花费的时间太长,而您的生产PHP配置将PHP脚本时间限制设置得太低。

在脚本开头,您可以为PHP时间限制添加更多时间:

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

set_time_limit(60);

例如再添加30秒(或使用0让PHP脚本继续运行)。

如果您的生产数据库与您的开发数据库不同(我假设生产有更多数据),那么从用户表中获取所有内容可能是一项非常昂贵的调用。