【发布时间】:2013-07-10 04:51:47
【问题描述】:
我正在做一个演示,并使用 GNU Parallel 并行运行我的网络爬虫,以帮助减少总时间。我从一个 php 文件运行它,如下所示:
<?php
....
exec(" parallel -j 8 < commands.txt", $output);
....
?>
当我从终端运行这个文件时,它工作正常并且完成了commands.txt 文件中给出的所有抓取工作,但是当我尝试从网页运行它时(调用这个php 文件),@ 987654324@ 给我以下错误:
parallel: Warning: $SHELL not set. Using /bin/sh.
Use of uninitialized value $ENV{"HOME"} in concatenation (.) or string at /usr/bin/parallel line 943.
Use of uninitialized value $ENV{"HOME"} in concatenation (.) or string at /usr/bin/parallel line 943.
Use of uninitialized value $ENV{"HOME"} in concatenation (.) or string at /usr/bin/parallel line 2207.
Use of uninitialized value $ENV{"HOME"} in concatenation (.) or string at /usr/bin/parallel line 2207.
有没有人遇到过类似的问题,可以帮我解决这个问题?
提前致谢。
【问题讨论】:
-
你试过 shell_exec() 吗?
-
尝试使用
shell_exec() -
我也尝试过使用“shell_exec”。还是一样的错误。
-
它现在可以工作了(尽管仍然显示警告)。感谢 Matt Bryant 和 DevZer0 的投入 :)
-
putenv('SHELL=/bin/sh');可能会消除警告
标签: php parallel-processing web-crawler gnu-parallel