PHP max_execution_time和多个连续的 AJAX 调用


PHP max_execution_time and multiple consecutive AJAX calls

所以,我知道max_execution_time会限制单个 php 脚本可以在服务器上运行的时间长度,但我想知道的是,如果我有一个脚本通过 ajax 调用另一个脚本,它们是否被视为一个脚本或两个脚本?

例如,如果我有一个结帐.php这需要,假设运行 10 秒,并且里面是对submit_payment.php的 ajax 调用,需要 20 秒以上,如果max_execution_time设置为小于 30 的值,这会停止吗?

在此基础上展开,如果在submit_payment.php完全解析并返回到结帐.php之后,我可以 ajax 到第三个需要另外 10 秒的 php 文件吗?

基本上,max_execution_time将被检查(10 + 20 + 10)还是将单独检查其中的每一个?

AJAX 请求发生在 javascript 中的客户端上,而不是 PHP 中。 一旦你回到客户端,它开始处理HTML来解析和操作javascript,比如说做一个AJAX调用,最初的php请求就完成了。 AJAX 要求的结果是一个新的、新的 HTTP 请求,由 PHP 脚本处理。

PHP 是无状态的。 每个请求(常规或 ajax)都被视为单独的脚本运行max_execution_time。 只要每个请求在限制下运行,您就可以在一系列请求中将任意数量的请求串在一起。