关于PHP中的set_time_limit()函数有3个问题
用户可能会调用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()的结果来确定。