set_time_limit无法在heroku上运行

时间:2013-01-05 16:37:05

标签: php heroku

我正在使用PHP和heroku。由于某些数据库插入和查询,我不断收到请求超时错误。

我将此行添加到我的所有php文件中以避免此错误:

set_time_limit(0);

但是,我仍然收到此错误。 heroku是否忽略此命令?

我做了一个简单的检查,看看时间限制是否正在改变:

echo 'TIME : '.ini_get('max_execution_time');
set_time_limit(0);
echo 'TIME : '.ini_get('max_execution_time');

它从30(默认值)更改为0.尽管有变化,我仍然收到错误。

另外,我想补充说ajax正在调用php文件。

此外,据我所知,php未设置为安全模式,因此没有理由忽略该命令。

Heroku建议使用后台作业,据我所知,如果任务需要超过30秒,它会强制你。有没有人在没有使用后台工作的情况下管理?

更新:尝试使用:

ini_set('max_execution_time', 0);

仍然不想工作

1 个答案:

答案 0 :(得分:1)

如果你必须在Heroku上超过30秒的请求超时,你将需要使用后台作业 - 没有办法(Heroku只会在超过30秒的时间内终止请求)。 Heroku has some documentation on this