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

标签 php

我尝试通过以下方式禁用 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/

相关文章:

php - Paypal IPN 失败

php - sqlite_escape_string() 在 php 中的问题

php - 用 Doctrine 查询语言写入 "NOT IN"

php - 带有 float 文本和不对称边的自定义菜单

php - 向 MYSQL 添加变量

php - 最近的个人资料访客和邮件系统

php - Ajax 自动完成 - 如何使其更快?

php - setValueBinder 在使用 maatwebsite/laravel-excel 时单张 excel 时不起作用

post - 如何将参数从命令行传递到 PHP 脚本中的 $_POST?

php - 需要在线自动填充信息到可填写的PDF,能够编辑数据,然后直接保存到服务器