0

PHP 是否支持 bash(分叉)中的与号之类的东西?假设我想同时在 2 个网页上使用 cURL,所以脚本不必等待第一个 cURL 命令完成,如何在 PHP 中实现这一点?在 bash 中是这样的:

 curl www.google.com &
 curl www.yahoo.com &
 wait
4

4 回答 4

1

PHP 是否支持 bash(分叉)中的与号之类的东西?
,请参阅其他答案,尽管我确实指出 PCNTL 扩展名仅适用于 UNIX。

...如何在 PHP 中实现这一点?*
cURL 支持同时运行多个下载

于 2010-04-19T00:15:02.903 回答
1

您可以使用popenproc_open打开一个进程并让它在后台运行,但是没有像 for 那样对后台操作的语言支持bash(无论如何,它是为运行任务而设计的;PHP 是为编写脚本而设计的)。

使用 proc_open,您可以proc_get_status知道进程何时终止。恐怕没有wait同等的。

于 2010-04-19T00:16:22.913 回答
0

如果您真的愿意,您可以编写异步方法,但工作量很大,而且如果您使用 PHP,这可能是一个糟糕的设计理念。

于 2010-04-19T00:17:25.727 回答
0

某种排队机制通常是可取的。Gearman 是您可以使用的开源队列机制。我还有一篇关于 Zend Server Job Queue 的博文,讨论了异步运行任务你排队吗?Zend 服务器作业队列简介

您还可以使用 Zend Framework Queuing 类之类的东西来实现一些异步工作。 Zend_Queue

于 2010-04-20T23:23:00.613 回答