PHP set_time_limit()不起作用,安全模式关闭


PHP set_time_limit() does not work, safemode is off

我试图通过禁用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>指令,但该指令不起作用。