我以前在这里看到过这个问题,所以我很抱歉重复,但我仍然没有找到我的问题的答案。
我有一个需要一段时间才能运行的 bash 脚本。它需要传递用户在网页上设置的变量(不要担心会有大量的安全验证等)
我可以让 bash 文件启动,但它可能会在 20 秒后从网页运行时死掉。
从终端运行时..运行绝对正常。
好的,所以我有以下内容:
$bashFile = shell_exec('./CoinCreationBashFile.sh "'.$coinName.'" "'.$coinNameAbreviation.'" "'.$blockReward.'" "'.$blockSpacing.'" "'.$targetTimespan.'" "'.$totalCoins.'" "'.$firstBitAddy.'" "'.$seedNode.'" "'.$seedName.'" "'.$headline.'" ');
现在这会执行 bash 文件,但我使用 nohup 阅读了有关 Shell_exec php 的信息,并得出以下结论:
$bashFile = shell_exec('nohup ./CoinCreationBashFile.sh "'.$coinName.'" "'.$coinNameAbreviation.'" "'.$blockReward.'" "'.$blockSpacing.'" "'.$targetTimespan.'" "'.$totalCoins.'" "'.$firstBitAddy.'" "'.$seedNode.'" "'.$seedName.'" "'.$headline.'" >/dev/null 2>&1 &');
但这在短时间内还是死了:(
因此,请阅读有关 set_time_limit 和 max_execution_time 并在 php.ini 文件中将它们设置为 10000000 的内容......但仍然没有乐趣:(
只想运行一个 bash 脚本而不会超时和退出。真的不想在其中放置一个中间步骤,但有人建议我查看 ZeroMQ 以“将工作人员与进程分离”,所以我可能不得不走这条路。
提前谢谢了