PHP ini_set max_execution_time和memory_limit无法正常工作

时间:2012-03-05 21:43:04

标签: php php-5.3

我在文件中有以下代码(我通过终端直接运行它或者我访问网页,它没有区别)。

error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors', true);
ini_set('max_execution_time', 1);
ini_set('memory_limit', '512M');
sleep(2);
echo ini_get('max_execution_time');

并输出1。它是否应该抛出错误,说执行时间超过了?

phpinfo()我得到:

max_execution_time  1   55
memory_limit    512M    1024M

1 个答案:

答案 0 :(得分:1)

sleep()时间不计入执行时间,因为它在休眠时没有执行任何代码。

  

注意:

     

set_time_limit()函数和配置指令   max_execution_time仅影响脚本的执行时间   本身。花在执行之外的活动上的任何时间   使用system(),流操作等系统调用的脚本   确定最大值时不包括数据库查询等   脚本运行的时间。在Windows上不是这样   测量时间是真实的。

这包括sleep(),正如sleep()和set_time_limit()的注释中多次提到的那样,例如

  

riki151205-Jun-2007 05:29

     

请注意,在Linux下,睡觉   时间被忽略,但在Windows下,它被视为执行时间。