我正在使用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);
仍然不想工作
答案 0 :(得分:1)
如果你必须在Heroku上超过30秒的请求超时,你将需要使用后台作业 - 没有办法(Heroku只会在超过30秒的时间内终止请求)。 Heroku has some documentation on this