为什么我们的 PHP 脚本停止解析 midscript?

问题描述

最近我们将我们的服务器从 PHP 5.6 版更新到了 PHP 7.4,因为这次升级我们遇到了一些脚本的一些非常奇怪的行为。

脚本本身完全适用于 PHP 7,没有错误日志或在问题发生时打印甚至记录的内容

发生的情况如下:

一个脚本启动了,这个脚本调用了几个函数,当 1 个函数需要很长时间才能完成时,主脚本停止,没有错误输出给出表明出现问题或出错的信息。

不管我们是通过 GUI 还是通过 CLI 运行这个脚本,结果都是一样的。

脚本停止/中断(在 cli 上,您返回到提示)每次被调用函数(不管是什么函数)只是需要很长时间才能完成,如上所述,原因不是 PHP 代码错误代码有效。

当使用 PHP 5.6 运行相同的脚本时,脚本会一直等待,直到被调用函数完成,然后正常继续。

看起来在 PHP7 的某个地方有一个(新的)设置,它限制了被调用函数可能运行的执行时间,否则我无法解释这种行为,这里的问题是究竟哪个设置是这样的,我该如何更改它,我们已经更改的明显设置。

有人知道在哪里查找或搜索此类设置吗?

系统在 Centos 8 上运行,使用 PHP 7.4.13(或 PHP 5.6),当使用较旧的 PHP 版本(7.2)时,问题是一样的,只有 PHP 5.6 完全没有这个问题。>

解决方法

错误报告已打开,不会记录任何错误。如果我们在 PHP 7.4 上运行脚本。脚本在短时间(1 - 2 分钟)后从 CLI 停止。在 PHP 5.6 上运行相同的脚本时,它会运行很长时间(在本例中应该如此)。我们的开发人员发现一个函数调用另一个函数来检查电子邮件帐户是否存在(HELO 检查)需要超过 2-3 秒,整个 PHP 脚本在 7.4 中停止,而 PHP 5.6 只是等待更长的时间并运行整个脚本>