虽然使用此代码使用一个Ajax XHTMLRequest我发现了一个PHP最大执行超时来收集数据Ajax请求最大执行超时
if(isset($_GET['func']) and $_GET['func'] == 'feed') {
global $ado;
$old_msg_id = $_GET['old_msg_id'];
$result = $ado->exec("SELECT * FROM `earnings` ORDER BY `id` DESC LIMIT 1");
while($row = $ado->fetch_assoc($result)) {
$last_msg_id = $row['id'];
}
while($last_msg_id <= $old_msg_id) {
$result = $ado->exec("SELECT * FROM `earnings` ORDER BY `id` DESC LIMIT 1");
while($row = $ado->fetch_assoc($result)) {
$last_msg_id = $row['id'];
}
}
$response = array();
$response['msg'] = 'new';
$response['old_msg_id'] = $last_msg_id;
echo json_encode($response);
}
我收到在error_log中的错误是
PHP Fatal error: Maximum execution time of 30 seconds exceeded in /ajax.php on line 165
165线如下:
while($last_msg_id <= $old_msg_id) {
我目前还没有看到有问题的代码,任何提示至于什么是错的?
感谢这个信息,虽然它不是我的问题的解决方案,但我想停止它,如果可能的话会超时,因为它正在继续jQuery调用,因为所有脚本都没有运行。 – 2013-02-10 13:31:04
如果您阅读它,更改max_execution_time将为您解决问题 – Techie 2013-02-10 13:32:14
更改max_execution_time不是一种处理问题的非常有效的方法! – C1D 2013-02-10 13:41:09