php shell_exec多个命令在后台一次

我在php / linux有一个问题,如下所述:

我必须通过shell_exec(plesk cli命令subscription webspace-off)执行一个linux命令。

问题是,当我这样做从PHP的工作,但重新启动Apache,导致一个空白页面,而Apache重新启动。

为了摆脱这个问题,我必须在后台调用shell_exec,延迟(预期结果:网页加载,4秒后运行linux脚本)。

我做了一些尝试,如:

shell_exec("sleep 4 && /var/www/vhosts/site.com/httpdocs/wrapper2 3 --webspace-off ".$domain_name." &"); 

但PHP会等待响应。

不知何故,我需要睡眠一个Linux命令的执行,所有这一切都必须运行在BG,并不等待响应。

谢谢

Solutions Collecting From Web of "php shell_exec多个命令在后台一次"

您应该尝试使用exec而不是shell_exec ,并将所有输出重定向到/dev/null 。 就像是:

 exec("(sleep 4 && ... --webspace-off ".$domain_name.") > /dev/null 2>&1 &"); 

(注意命令周围的() :你需要捕获sleep和包装的输出流。)

编辑:并确保您确认$domain_name 。 没有验证和

 $domain_name = "; rm -rf ..."; 

你有麻烦了…