PHP在bash(forking)中支持类似于&符号的东西吗?假设我想在两个网页上同时使用cURL,所以脚本不必在第一次cURL命令完成之前等待,怎么能在PHP中实现呢?在bash中有类似的东西:
curl www.google.com &
curl www.yahoo.com &
wait
答案 0 :(得分:1)
PHP支持bash(forking)中的&符号吗?
否。请参阅其他答案,但我确实指出PCNTL扩展仅为UNIX。
...如何在PHP中实现这一目标?*
cURL supports running multiple downloads concurrently
答案 1 :(得分:1)
您可以使用popen
或proc_open
打开一个流程并让它在后台运行,但是对于后台操作没有语言支持,例如bash
(已制作)无论如何,运行任务; PHP是为脚本编写的东西。)
使用proc_open,您可以使用proc_get_status
来了解进程何时终止。我担心没有wait
等价物。
答案 2 :(得分:0)
如果你真的想要,你可以编写异步方法,但这是很多工作,如果你使用PHP,可能是一个糟糕的设计理念。
答案 3 :(得分:0)
某种排队机制通常更可取。 Gearman是一种可以使用的开源排队机制。我还在Zend Server作业队列上有一篇博文,讨论异步运行任务Do you queue? Introduction to the Zend Server Job Queue。
您还可以使用Zend Framework Queuing类之类的东西来实现一些异步工作。 Zend_Queue