Php 使用exec运行composer更新

Php 使用exec运行composer更新,php,composer-php,Php,Composer Php,我尝试通过PHP函数进行更新 public function update() { $cmd = 'composer update -d ' . static::$root; exec( $cmd, $output ); var_dump( $output ); } 结果是: array(0) { } NULL 如果您直接在控制台中进行此操作,我会更新一个库,例如phpmailer 谢谢。请执行以下操作: exec('composer update 2>&

我尝试通过PHP函数进行更新

public function update() {
    $cmd = 'composer update -d ' . static::$root;
    exec( $cmd, $output );
    var_dump( $output );
}
结果是:

array(0) { } NULL
如果您直接在控制台中进行此操作,我会更新一个库,例如phpmailer

谢谢。

请执行以下操作:

exec('composer update 2>&1', $msg); // update dependencies

echo '<pre>';
var_dump($msg);
echo '</pre>';
exec('composer update 2>&1',$msg);//更新依赖项
回声';
var_dump($msg);
回声';
这将为您提供所需的输出

2>&1
stderr
重定向到
stdout
。Composer状态/进度信息纯粹是信息性的(而不是通过管道传递到另一个应用程序),因此它将继续
stderr

Tk。我得到一个结果:array(1){[0]=>string(59)“sh:1:/home/www/clicshopping\u test/shop/:Permission denied”}我的composer.json在777中,composer.lock在644中。你有什么想法吗?