我可以像项目库一样在我的项目中包含composer.phar吗?

时间:2013-02-08 15:53:52

标签: php composer-php phar

我想使用该功能,以便通过网络界面设置依赖关系。

我在Using Phar Archives: Introduction教程中发现可以做下一步:

<?php
include 'composer.phar';
?>

但是在尝试做同样的事情时我会遇到下一个错误:

phar "/var/www/.../composer.phar" is API version 0.0.0, and cannot be processed

#0 /var/www/.../composer.phar(13): Phar::mapPhar('composer.phar') 
...

我的phpinfo输出显示下一个信息:

Phar EXT 2.0.1版,  Phar API版本1.1.1

1 个答案:

答案 0 :(得分:0)

你需要做:

require 'vendor/autoload.php';
use <NAMESPACE>\<LIBRARY>;

加载你的作曲家库。 composer.phar 是根据 composer.json 文件的内容实际为您执行并检索库的脚本。

如果你想从PHP脚本中实际运行 composer.phar ,请保持简单并只使用shell(例如使用反引号,shell_exec()等)。

$output = `<path_to_composer>/composer.phar [options]`;

您尝试做的是,它们已打包为 phar ,而不是应用程序。