首页 > 编程语言 >PHP中max_execution_time设置不生效

PHP中max_execution_time设置不生效

时间:2022-11-21 13:07:37浏览次数:63  
标签:脚本 执行 PHP max time execution


 

问题描述:

 

max_execution_time设置了1秒,但是发现超过3秒的脚本还是跑。于是深入研究下max_execution_time不生效的原因。

 

官网描述:

 

​https://www.php.net/manual/zh/function.set-time-limit.php​

 

set_time_limit()函数和配置指令​​max_execution_time​​​只影响脚本本身执行的时间。任何发生在诸如使用​​system()​​的系统调用,流操作,数据库操作等的脚本执行的最大时间不包括其中,当该脚本已运行。在测量时间是实值的Windows中,情况就不是如此了。

问题分析:

 

max_execution_time计算的只是PHP脚本本身执行的时间,执行之外的时间都不会计算在内。哪些属于执行之外的时间呢?包含sleep、数据交互、socket交互等等。

要验证这点也很简单,可以直接把代码中的sleep 修改为如下代码测试:

 

for($i=0;$i<1000000;$i++){
sha1(time());
}


问题总结:

1、max_execution_time中的时间是以PHP脚本本身执行的时间来计算的,而不是整个请求的执行时间。

2、在PHP脚本中,对于诸如(system/socket/http/mysql/sleep)等不是依赖php的max_execution_time来做控制。

 

标签:脚本,执行,PHP,max,time,execution
From: https://blog.51cto.com/u_6353447/5873530

相关文章

  • PHP中self与static区别和联系
    ​ PHP官方也说过,大概意思是说self调用的就是本身代码片段这个类,static-PHP5.3加进来的只得是当前这个类,有点像$this的意思,static调用的是从堆内存中提取出来,访问的是当......
  • PHP中如何实现进程间通讯
    ​ 进程间通讯机制——IPC(Inter-Process-Communication)。为了使得php5可以使用共享内存和信号量,必须在编译php5程序时激活shmop和sysvsem这两个扩展模块。实现方法:在......
  • PHP一些基础语法,转菜鸟
    数组使用①:遍历关联数组for($arrayas$key=>$value){echo$key.'=>'.$value.PHP_EOL;}②:判断key是否存在boolarray_key_exists(key,array)③:去除(shift)......
  • php – Laravel – 从附带where子句的另一个表中不存在的记录中获取记录
    1.存在一个商户表id  name 2.存在一个会员表idadmin_idname3.查询还没有添加会员的商户信息DB::table('admin_users')->leftJoin('admin_ext','admin_ext.adm......
  • php开发中实现客户端扫描文档并保存到服务器端
    项目中需要控制扫描仪器扫描文稿并作为OA系统的附件保存到服务器端,在网页中控制扫描仪使用的是ScanOnWeb控件,实现了客户端通过javascript控制扫描仪扫描文稿,多页文稿全部扫......
  • php使用form-create、FormBuilder快捷创建表单
    form-create、FormBuilder不用不知道,一用吓一跳!好用还漂亮说明一下,form-create主要是用于前段的,FormBuilder是大神基于form-create写的能够用php写前端表单的,我在B站也简单......
  • LocalDate,LocalTime,LocalDateTime之间的转化和常用应用
    Java8中,对于日期、时间、时间日期有不同的对象来表示,分别就是LocalDate、LocalTime、LocalDateTime他们都位于java.time包下,并且他们都仅单纯的表示一个不可变的时间对象,......
  • Python学习笔记:timedelta类相关函数
    一、介绍timedelta类表示时间差,可以直接实例化,也可以由两个datetime类型的数据作差得到。缘起于求两个时间差,并需要转换为特定的单位(天、小时、分钟等),遂产生此需求。......
  • 152. Maximum Product Subarray
    Givenanintegerarray nums,finda subarray thathasthelargestproduct,andreturn theproduct.Thetestcasesaregeneratedsothattheanswerwillfit......
  • thinkphp漏洞
    thinkphp漏洞参考资料:https://github.com/SkyBlueEternal/thinkphp-RCE-POC-Collection敏感信息THINKPHP3.2结构:Application\Runtime\Logs\Home\16_09_09.logTHINKPHP......