Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP最大执行时间是如何工作的?_Php - Fatal编程技术网

PHP最大执行时间是如何工作的?

PHP最大执行时间是如何工作的?,php,Php,我对php.ini中设置的最大执行时间没有什么疑问 假设Max执行时间为3分钟,考虑以下情况: 我有一个过程将在2分钟内结束 但它是一个循环,应该可以工作5次。所以它变成了10分钟 脚本是否可以正常运行而不显示超时错误?为什么? PHP函数只打印数据,只需2分钟 但是查询执行需要5分钟 脚本是否可以正常运行?为什么? 我的单个php进程本身需要5分钟 但是我从命令行调用脚本 它能正常工作吗?为什么? 内存允许和执行时间有什么关系 如果脚本的执行时间非常长 但它返回的数据量很小 它会不会影响记忆?

我对php.ini中设置的最大执行时间没有什么疑问

假设Max执行时间为3分钟,考虑以下情况:

  • 我有一个过程将在2分钟内结束

    但它是一个循环,应该可以工作5次。所以它变成了10分钟

    脚本是否可以正常运行而不显示超时错误?为什么?

  • PHP函数只打印数据,只需2分钟

    但是查询执行需要5分钟

    脚本是否可以正常运行?为什么?

  • 我的单个php进程本身需要5分钟

    但是我从命令行调用脚本

    它能正常工作吗?为什么?

  • 内存允许和执行时间有什么关系

    如果脚本的执行时间非常长

    但它返回的数据量很小

    它会不会影响记忆?为什么?

  • 我想知道内部发生了什么,这就是为什么我要问这些问题。
    我不想只增加时间限制和内存限制。

    关于
    max\u execution\u time
    的规则相对简单

    • 解释文件时,执行时间开始计算。在准备请求、准备上传文件、web服务器完成其工作等之前所需的时间不计入执行时间

    • 执行时间是脚本运行的总时间,包括数据库查询,无论脚本是否在循环中运行。因此,在第一种和第二种情况下,脚本将以超时错误终止,因为这是
      max\u execution\u time
      的定义行为

    • 使用
      exec()
      的外部系统调用以及此类调用不计入执行时间,但在Windows上除外。()这意味着您可以运行比
      max\u execution\u time
      更长的外部程序

    • 从命令行调用时,
      max\u execution\u time
      默认为
      0
      。()因此,在第三种情况下,脚本应该无错误地运行

    • 执行时间和内存使用量彼此无关。脚本可以运行数小时而不会达到内存限制。如果是这样的话,那么通常是由于循环中的变量没有取消设置,以及以前保留的内存没有正确释放


    对于我的个人测试和