我最近为使用 PHP SoapServer 的 PHP Web 服务创建了一个 Java 前端。

我的应用程序正在执行长时间运行的数据同步,根据我从 PHP 了解到的信息,我准备关闭连接,因为 max_execution_time 限制。

但我从未收到任何类型的错误,就好像 SoapServer 实例永远运行一样。

我最好的猜测是,我不太了解 SoapServer 是如何工作的。那么,有人能解释一下吗?SoapServer 是否不受此影响 max_execution_time?

编辑: 在我的测试中 max_execution_time 设置为 5 分钟,但我的程序运行了几个小时。

有帮助吗?

解决方案

如果 max_execution_time 在 php.ini 中或通过使用设置为 0 ini_set() 或者 set_time_limit() 在你的脚本中,那么就没有限制。难道是这个原因吗?

编辑:另外,我刚刚在 手动的:

笔记:set_time_limit() 函数和配置指令 max_execution_time 仅影响脚本本身的执行时间。花费在脚本执行之外的活动上的任何时间,例如使用 system() 的系统调用、流操作、数据库查询等。确定脚本运行的最长时间时不包括在内。在 Windows 上情况并非如此,因为测量的时间是真实的。

也许您不会被切断,因为大部分时间都花在流数据或执行查询上,根据此,这不会计入时间限制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top