我尝试通过以下方式禁用 PHP 脚本中的时间限制
set_time_limit(0);
但它不起作用;在系统默认的 30 秒后,脚本仍然会中止。 max_execution_time
设置 - 如 set_time_limit(0)
之后由 phpinfo()
显示 - 主值和本地值仍显示 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 配置中的某些目录定义异常(exception),例如
<Directory /path/to/my/scripts>
php_admin_value max_execution_time "600"
</Directory>
我还尝试使用
关于PHP set_time_limit() 不起作用,安全模式已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12094839/