gpt4 book ai didi

php - 从网页运行的 GNU Parallel

转载 作者:行者123 更新时间:2023-12-04 04:50:13 24 4
gpt4 key购买 nike

我正在制作一个演示并使用 GNU Parallel 并行运行我的网络爬虫以帮助减少总时间。我从一个 php 文件运行它,如下所示:

<?php

....
exec(" parallel -j 8 < commands.txt", $output);
....
?>

当我从终端运行这个文件时,它工作正常并且完成了 commands.txt 中给出的所有抓取工作。文件,但是当我尝试从网页运行它时(调用此 php 文件), parallel给了我以下错误:
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.

有没有人遇到过类似的问题,可以帮我解决这个问题吗?

提前致谢。

最佳答案

GNU Parallel 使用 $HOME 和 $SHELL。 $SHELL 默认为/bin/sh,但 $HOME 没有默认值。所以设置 $HOME:

putenv('HOME=/tmp'); # Or some other place

您应该在 $HOME 中具有写入权限。

如果您也想避免警告集 $SHELL:
putenv('SHELL=/bin/sh');

关于php - 从网页运行的 GNU Parallel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17562647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com