首页 > 解决方案 > 如何通过 shell_exec() 重建 Vue

问题描述

我有一个通过 webhook.php 接收更新的 Vue 应用程序 - 有一个小的 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。

标签: phpvue.jsnginxnpm

解决方案


首先尝试使用完整路径并将 stdout 和 stderr 都重定向到 /dev/null,然后将其作为背景。

shell_exec('sudo /var/www/html/deploy.sh > /dev/null 2>&1 &');


推荐阅读