Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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_Time_Execution_Terminate - Fatal编程技术网

若PHP脚本达到允许的最大执行时间,它是立即终止还是在当前指令完成后立即终止?

若PHP脚本达到允许的最大执行时间,它是立即终止还是在当前指令完成后立即终止?,php,time,execution,terminate,Php,Time,Execution,Terminate,我已接近服务器上的最大执行时间,不允许更改它。脚本下载数据并将其写入文件。潜在的问题是,在将文件写入磁盘期间,脚本可以达到最大执行时间。因此,我必须知道脚本是否在达到exec允许的最大时间后终止。立即,可能导致存储在磁盘上的文件不完整,或者脚本在最后一条指令/函数结束后立即终止,因此我可以确保磁盘上的所有文件都有效? 该主题的第二个问题: 如果在fwrite()函数之后终止脚本而不执行fclose(),会发生什么情况?这会导致在磁盘上创建不完整(无效)的文件吗? 第三个问题 若脚本并没有立即

我已接近服务器上的最大执行时间,不允许更改它。脚本下载数据并将其写入文件。潜在的问题是,在将文件写入磁盘期间,脚本可以达到最大执行时间。因此,我必须知道脚本是否在达到exec允许的最大时间后终止。立即,可能导致存储在磁盘上的文件不完整,或者脚本在最后一条指令/函数结束后立即终止,因此我可以确保磁盘上的所有文件都有效?

该主题的第二个问题:
如果在fwrite()函数之后终止脚本而不执行fclose(),会发生什么情况?这会导致在磁盘上创建不完整(无效)的文件吗?

第三个问题

若脚本并没有立即终止,那个么它是在当前指令结束或调用函数后终止的吗?因为如果脚本在当前指令之后终止,那么执行fwrite()无法到达该函数的结尾并在函数体中的某个位置停止。

它会立即终止

您对第二个问题的回答:不,fclose()不是必需的

最大执行时间不受系统调用、流的影响 操作等

您的web服务器可以具有其他超时配置,这些配置也可能 中断PHP执行。Apache有一个超时指令,IIS有一个 CGI超时功能。两者都默认为300秒。查看您的web服务器 有关具体细节的文档

看 由此我得出结论,fwrite调用将正确执行到底。服务器(例如apache)也可以强制脚本停止。在这种情况下,fwrite可能会被中断。但由于默认值为300,您可能不会遇到该超时