我有一个Vue应用程序,可以通过webhook.php接收更新-有一个小的php脚本可以更新内部配置。 在此webhook.php文件的结尾,我有
echo shell_exec('sudo ../deploy.sh');
deploy.sh包含几乎一行(我想稍后再扩展):
sudo npm run build
PHP脚本正在运行-配置正在更新,但是构建没有进行。
shell_exec()不输出任何内容,表示存在某些错误。
var / log / nginx /没有显示任何错误。
我猜想这是权限方面的问题-当我从终端运行shell_exec('sudo ../deploy.sh')
时,它的工作原理就应该如此。但不是来自webhook.php。
答案 0 :(得分:0)
首先尝试使用完整路径并将stdout和stderr都重定向到/ dev / null,然后将其后台。
shell_exec('sudo /var/www/html/deploy.sh > /dev/null 2>&1 &');