gpt4 book ai didi

php - 如何异步运行多个 fsockopen()

转载 作者:搜寻专家 更新时间:2023-10-31 20:36:26 25 4
gpt4 key购买 nike

我正在开发一个项目,使用这个 php 类验证多个电子邮件 ID -> php-smtp-email-validation .当我输入最多 10 个电子邮件 ID 时,代码工作正常,大约需要 30-40 秒才能给出结果。但我想输入数千个电子邮件 ID 并同时检查它们,而不是一个一个地检查它们。由于单个 php 脚本中的 fsockopen() 将仅一个接一个地执行,

所以,我来这里是想问一下我是否可以同时执行多个 fsockopen() 并更快地获得结果?或者有没有办法可以异步执行多个 php 脚本?

最佳答案

So, I am here to ask if somehow I can execute multiple fsockopen() simultaneously and get the results faster?

您正在寻找asynchronous, or non-blocking I/O :

In computer science, asynchronous I/O, or non-blocking I/O is a form of input/output processing that permits other processing to continue before the transmission has finished.

非阻塞模式下的流将提前返回而不是等待(阻塞),允许您读取或写入另一个流,甚至执行一些其他任务,而等效的阻塞代码将强制您等待。

fsockopen 能够返回合适的流,并且在 TCP 的情况下:您可以在 PHP 中编写执行异步 I/O 的代码,而无需任何框架或扩展的帮助。

如果您想自己编写代码,以下手册页会有所帮助:

各种扩展公开了比 stream_select 更好的轮询机制。

建议您使用现有的众多框架之一来执行异步 I/O。他们通常会选择可用的最佳轮询机制。其中一些尝试使习惯于编写同步、阻塞代码的人更容易实现。所有这些都经过了很好的测试,这使您可以继续手头的任务,而不必担心实现您想要使用的模式。

此类框架的非详尽列表:

Or is there a way I can execute multiple php scripts asynchronously?

我认为你的意思是并行。

是的,有很多方法可以并行执行 PHP 代码,从执行同一脚本的多个实例(多处理),一直到使用多线程。

并行并发根本不适合这里的用例。

关于php - 如何异步运行多个 fsockopen(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33949592/

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