首页 > 数据库 > mysql教程 > 为什么'set_time_limit”和'ini_set(\'max_execution_time\')”在启用了安全模式的远程服务器上无效?

为什么'set_time_limit”和'ini_set(\'max_execution_time\')”在启用了安全模式的远程服务器上无效?

DDD
发布: 2024-10-31 09:45:02
原创
738 人浏览过

Why are `set_time_limit` and `ini_set('max_execution_time')` ineffective on my remote server with safe mode enabled?

PHP 时间限制函数在远程服务器上无效

使用 set_time_limit(50) 或 ini_set('max_execution_time', 50) 设置时间限制时在本地,检索 max_execution_time 会产生所需的值。然而,在不同的服务器上,它会恢复为默认值(30 秒),导致这些功能无效。

说明

问题的出现是由于 安全模式远程服务器上的设置。在 PHP 的安全模式下,无法使用 ini_set() 修改 max_execution_time 设置。此限制也适用于 set_time_limit()。

解决方法

要解决此问题,有两个选项:

  1. 禁用安全模式:这可以通过修改服务器的配置来完成。但出于安全考虑,一般不建议这样做。
  2. 修改 php.ini: 编辑远程服务器上的 php.ini 文件,并将 max_execution_time 设置为所需的值。

安全模式的原因限制

PHP 中引入了安全模式,通过限制脚本可以执行的某些操作来增强安全性。防止脚本无限期运行就是这些安全措施之一。

注意: PHP 手册明确指出 set_time_limit() 和 ini_set('max_execution_time', 50) 在安全时没有任何作用模式已启用。唯一的解决方法是禁用安全模式或调整 php.ini 文件中的时间限制。

以上是为什么'set_time_limit”和'ini_set('max_execution_time')”在启用了安全模式的远程服务器上无效?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板