首页 >数据库 >mysql教程 >为什么 ini_set(\'max_execution_time\') 和 set_time_limit() 无法更改远程服务器上的配置?

为什么 ini_set(\'max_execution_time\') 和 set_time_limit() 无法更改远程服务器上的配置?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-28 20:30:02992浏览

Why do ini_set('max_execution_time') and set_time_limit() fail to change configuration on a remote server?

ini_set() 和 set_time_limit() 忽略远程服务器上的配置更改

使用 ini_set('max_execution_time', 50) 或 set_time_limit( 50) 在本地,ini_get('max_execution_time') 函数按预期返回 50。但是,在不同的服务器上,它会回显默认的 30,而忽略指定的设置。

原因:

无法使用 ini_set() 和 更改 max_execution_time 配置set_time_limit() 源于安全模式的存在。安全模式是一种限制某些操作的 PHP 配置,包括通过 ini_set() 修改 max_execution_time 等运行时设置。

解决方法:

要避免此问题,您有两个方法options:

  • 在 PHP 配置中禁用安全模式(出于安全原因不建议)。
  • 直接在 php.ini 配置文件中修改 max_execution_time 设置。

附加说明:

同样的限制也适用于 set_time_limit() 函数,如 PHP 手册中所示:

“此函数在以下情况下无效: PHP 正在安全模式下运行。除了关闭安全模式或更改 php.ini 中的时间限制之外,没有其他解决方法。”

以上是为什么 ini_set(\'max_execution_time\') 和 set_time_limit() 无法更改远程服务器上的配置?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn