我对php.ini中设置的最长执行时间几乎没有疑问.
假设max_execution_time为3分钟,请考虑以下情况:
我有一个过程,将在2分钟后结束.
但它处于一个循环中,应该可以工作5次.所以它变成了10分钟.
脚本是否正常运行而不显示超时错误?为什么?
PHP函数只打印数据,只需2分钟.
但查询执行需要5分钟.
脚本会运行没有错误吗?为什么?
我的单个php进程本身需要5分钟.
但我从命令行调用脚本.
它会正常工作吗?为什么?
如何允许内存和执行时间相关?
如果脚本的执行时间非常长
但它返回少量数据
它会影响记忆吗?为什么?
我想了解内部发生的事情,这就是为什么要问这些.我不想只是增加时间限制和内存限制.
Pek*_*ica 35
规则max_execution_time相对简单.
解释文件时,执行时间开始计时.准备请求,准备上传文件,Web服务器等事务所需的时间不计入执行时间.
执行时间是脚本运行的总时间,包括数据库查询,无论它是否在循环中运行.因此,在第一种情况和第二种情况下,脚本将以超时错误终止,因为这是已定义的行为max_execution_time.
除了Windows之外,使用exec()等外部系统调用不计入执行时间.(来源)这意味着你可以运行一个花费更长时间的外部程序max_execution_time.
从命令行调用时,max_execution_time默认为0.(来源)所以在第三种情况下,你的脚本应该运行没有错误.
执行时间和内存使用量彼此无关.脚本可以运行数小时而不会达到内存限制.如果是这样,那么通常是由于一个循环,其中变量未被设置,并且先前保留的内存未被正确释放.
| 归档时间: |
|
| 查看次数: |
10468 次 |
| 最近记录: |