运行并行PHP脚本的最佳方法

运行并行PHP脚本的最佳方法,php,parallel-processing,pthreads,pcntl,Php,Parallel Processing,Pthreads,Pcntl,我想一次运行3个不同的简单脚本,每个脚本都会抓取网站内容并返回一个字符串。pcntl、pthreads和background exec()方法中哪一种最合适?我最感兴趣的是低资源消耗。很难笼统地回答 您希望优化哪种资源 无论如何,这里的第一个例子主要回答了您的问题: 因为我发现我的主机没有提供扩展,所以只能使用exec方式。然而,pthread似乎是最有效的。我指的是由资源分配的RAM。如果我理解得很好,pcntl_fork用于在多个实例中运行相同的进程/脚本,对吗?我最好在我的Q里加上“不同

我想一次运行3个不同的简单脚本,每个脚本都会抓取网站内容并返回一个字符串。pcntl、pthreads和background exec()方法中哪一种最合适?我最感兴趣的是低资源消耗。

很难笼统地回答

您希望优化哪种资源

无论如何,这里的第一个例子主要回答了您的问题:



因为我发现我的主机没有提供扩展,所以只能使用exec方式。然而,pthread似乎是最有效的。

我指的是由资源分配的RAM。如果我理解得很好,pcntl_fork用于在多个实例中运行相同的进程/脚本,对吗?我最好在我的Q里加上“不同”这个词。
<?php
for ($i = 1; $i <= 5; ++$i) {
        $pid = pcntl_fork();

        if (!$pid) {
            sleep(1);
            print "In child $i\n";
            exit($i);
        }
    }

    while (pcntl_waitpid(0, $status) != -1) {
        $status = pcntl_wexitstatus($status);
        echo "Child $status completed\n";
    }
?>