关于PHP中的set_time_limit()函数有3个问题

7 浏览
0 Comments

关于PHP中的set_time_limit()函数有3个问题

关于PHP中的set_time_limit()函数,我有三个问题:

  1. 当用户没有权限访问PHP.ini时,他能否更改set_time_limit()函数的值?
  2. 我应该怎么做才能停止重启set_time_limit()函数?
  3. 其他方法:我不想运行set_time_limit()函数,我该怎么办?
0
0 Comments

3个关于PHP中set_time_limit()函数的问题可以通过set_time_limit函数的PHP手册来回答。

1 - 当用户没有通过文件系统有权限更改php.ini时,用户就无法更改php.ini。

2和3 - 如果您有合适的权限,可以在php.ini中更改max_execution_time。给它设置一个巨大的值(尽管不推荐这样做)。

0
0 Comments

用户可能会调用set_time_limit()函数,即使他们没有访问php.ini文件的权限。可以使用safe_mode(在5.4版本中已废弃和移除)或disabled_functions ini指令来避免这个问题。然而,set_time_limit()函数可能会产生误导(下面有解释)。如果不想改变php.ini文件,在Web环境中可能可以在服务器级别或使用的cgi配置中设置最大响应时间。

禁止该函数和/或设置max_execution_time。

注意:set_time_limit()函数计算当前正在运行的PHP脚本的执行时间,而不是脚本在等待外部资源上所花费的时间(当然在Windows上除外)。

如果您控制服务器,可以在php.ini中禁用某些函数。对php.ini的访问基于纯文件系统权限。然而,有许多php.ini选项可以在运行时设置。max_execution_time是php.ini中set_time_limit()函数对应的选项。将max_execution_time设置为一个高值通常不会有问题,因为Apache/IIS会中止长时间运行的请求。

关于您的其他问题,请提一个新问题,如果那不是重复的话。可以使用phpinfo()函数来找到php.ini文件的位置。关于如何找到它的方法已经在此处提供。

至于set_time_limit()函数在哪个版本的php中可以被用户更改值,您可以通过查看phpinfo()的结果来确定。

0