Php 使用exec运行composer更新
我尝试通过PHP函数进行更新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>&
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中。你有什么想法吗?