>我试图执行一个函数来更新作曲家。 但是,结果显示权限被拒绝
我的作曲家.json在777年 我的作曲家锁在644
塔肯你
public function update() {
$cmd = static::$root . ' composer update 2>&1';
exec($cmd, $output);
return $output;
}
结果:
array(1) { [0]=> string(59) "sh: 1: /home/www/demo/shop/: Permission denied" }
我假设这是因为作曲家之前有一个空格,static::$root
前面加了static::$root
的路径或 env 变量。 这是行不通的,因为你不能依赖作曲家在路径上。 您可能希望使用类似exec("/usr/bin/composer update", $output);
或/bin/bash -c /usr/bin/php /path/to/composer.phar update
或这两个命令的某种组合。