2013-02-24 60 views
2

我想并行化一个php程序,我用它来读取一些.xml文件。 我一直googleing和我读到一些选项:使用exec并行化php()

  • 卷曲
  • 的Gearman
  • EXEC

我也红认为,高管是最好的,但我不不明白它是如何工作的。任何人都可以解释它?

在此先感谢。

+0

阅读每个手册,并确定哪一个最适合您的需求... – 2013-02-24 12:31:46

+0

exec不会并行任何东西,因为它等待产生的进程退出之前退出。 – Jon 2013-02-24 13:10:28

+0

查看http://stackoverflow.com/questions/2101640/patterns-for-php-multi-processes – powtac 2013-02-24 13:31:33

回答

1

exec不会并行化。它在返回之前等待处理完成。卷曲可以使用curl_multi_init()curl_multi_exec()并行化。 fork是相当低的水平。我不知道gearman,我只读过Basic usage的例子,所以我不能告诉你任何关于它的事情。

+0

'curl' [can parallelize](http://www.php.net/manual/en/function.curl-多exec.php)。 – Jon 2013-02-24 13:11:35

+0

'exec'可以运行后台进程(请参阅http://php.net/manual/en/function.exec.php#Hcom86329)。它可以被认为是并行... – tmuguet 2013-02-24 13:39:51

+0

我一直想在我的MacBook上安装gearman两个小时,但我could'nt。我试着自己编译它并用自制软件安装它,但没有。令我烦恼的是安装过程看起来正确,但是当我想运行我的gearman服务器(%gearmand -d)时,shell输出'command not found'。 我想我会尝试与exec()并行,但我不知道该怎么做。如果有人可以给我一个简短的解释或指向一个好的教程或例子的链接,那会很棒! 在此先感谢。 – Eneko 2013-02-24 17:14:50