我在github(deploy.php
)中设置了webhook,每次合并时都会调用我的服务器。 deploy.php
检查合并是否为主。如果是,则调用git fetch
和git merge
。我还希望它调用composer install --no-interaction
以便安装任何新的依赖项。我的代码正在执行以下操作:
exec('composer install --no-interaction', $out, $ret);
echo print_r($out,true)." $ret";
$out
只是一个空数组。 $ret
= 1。
但是,如果我登录服务器并运行:
sudo -Hu apache php -a
php > exec('composer install --no-interaction', $out, $ret);
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
php > echo $ret;
0
我试图让它在很多方面发挥作用。我使用了shell_exec
,exec
,一个bash脚本,但这些都不起作用。我尝试使用绝对路径来编写作曲家。我检查了apaches访问composer和shell脚本的权限。
如果可能,请告诉我。