gpt4 book ai didi

php - PHP 中的异步 HTTP 请求

转载 作者:IT王子 更新时间:2023-10-28 23:54:48 25 4
gpt4 key购买 nike

有什么明智的方法可以在 PHP 中异步发出 HTTP 请求而不抛出响应吗?即,类似于 AJAX 的东西 - PHP 脚本发起请求,做它自己的事情,然后,当收到响应时,回调函数/方法或另一个脚本处理响应。

我想到了一种方法 - 为每个请求生成一个新的 php 进程和另一个脚本 - 第二个脚本执行请求,等待响应,然后解析数据并做任何它应该做的事情,而原始脚本继续产生新的过程。不过,我对这种情况下的性能有疑问 - 每次都必须创建一个新流程,肯定会有一些性能损失。

最佳答案

是的,根据您网站的流量,生成一个单独的 PHP 进程来运行脚本可能是毁灭性的。使用 shell_exec() 启动后台进程将输出保存到您已知的文件名会更有效,但即使这样也可能会占用大量资源。

您还可以将请求队列存储在数据库中。一个独立的后台进程将拉取作业、执行它并保存输出,可能会在 DB 中设置一个标志,您的 Web 进程可以检查该标志。

如果您打算使用数据库队列方法,请使用 curl_multi* 类函数一次发送所有排队的请求。这会将后台进程中每次迭代的执行时间限制为最长的请求时间。

关于php - PHP 中的异步 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1240267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com