我试图通过禁用PHP脚本中的时间限制
set_time_limit(0);
但它不起作用;在系统默认值为30秒之后,脚本仍然中止。max_execution_time
设置(如phpinfo()
在set_time_limit(0)
之后显示的)对于主值和本地值仍显示30秒。它还显示安全模式关闭。
你知道出了什么问题吗?它是PHP 5.3.3(cli),运行在带有Apache 2.2.15的CentOS 6.2上。
我现在能够解决这个问题了。原因是
php_admin_value max_execution_time "30"
在虚拟主机配置中。如果在那里设置,则PHP脚本无法覆盖时间限制。解决方案是在php.ini中设置它,而不是在Apache配置中设置它——这允许覆盖。。。
max_execution_time = 30
或者为apache配置中的某些目录定义异常,例如
<Directory /path/to/my/scripts>
php_admin_value max_execution_time "600"
</Directory>
我还尝试使用<Files>指令,但该指令不起作用。