php - 如何通过 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。
解决方案
首先尝试使用完整路径并将 stdout 和 stderr 都重定向到 /dev/null,然后将其作为背景。
shell_exec('sudo /var/www/html/deploy.sh > /dev/null 2>&1 &');
推荐阅读
- python - 给定一些约束,对等腰三角形的两个剩余顶点进行采样
- laravel - Laravel - 邮递员返回错误 500 内部服务器错误
- python - 如何阻止 bazel 依赖 Python2
- docker - 如何创建 docker-compose 虚拟主机?
- typescript - 如何指定具有子对象的接口作为具有解构道具的函数的类型
- stata - Stata 输出表:estout 中的条件符号
- reactjs - Spring React 和 Sessions .. 如何保持会话
- postgresql - 如何根据另一列设置一列的值?
- typo3 - FE用户登录后TYPO3购物车扩展丢失购物车
- c - 如何在flutter应用程序上访问apriltag库