2016-01-08 70 views
2

在PHP 5.5中使用Composer安装PEAR包可以正常工作(当然)。我已经成立了一个PHP 7试验箱看看我们的单元测试将通过在PHP 7和眼前的问题,我碰到的是,PEAR的依赖不起作用:使用Composer安装PEAR包可以在PHP 7中工作吗?

Loading composer repositories with package information 
 
Initializing PEAR repository https://pear.php.net 
 
Updating dependencies (including require-dev) 
 
    - Installing packagist/closurecompiler-bin (dev-master d52231c) 
 
    Cloning d52231c49813347010fa605d0f102ada68bb8b4b 
 

 
    - Installing pear-pear.php.net/structures_graph (1.1.1) 
 
    Loading from cache 
 

 

 

 
    [UnexpectedValueException] 
 
    Failed to extract PEAR package /opt/navigate/vendor/pear-pear.php.net/Structures_Graph/Structures_Graph-1.1.1.tgz to /opt/navigate/vendor/pear-pear.php.net/Structures_Graph. Reason: phar error: tar-base 
 
    d phar "Structures_Graph-1.1.1/tests/BasicGraphTest.php" cannot be registered 
 

 

 

 

 

 

 
    [UnexpectedValueException] 
 
    phar error: tar-based phar "Structures_Graph-1.1.1/tests/BasicGraphTest.php" cannot be registered

我无法弄清楚这一点 - 它似乎是一个PHP 7的不兼容性,没有人在网上写作?

+1

可能更适合在Github上发布作曲家的问题:https://github.com/composer/composer – MECU

+0

作曲家抱怨没有名为'pear-pear.php.net/ structures_graph'的软件包。然而,有'pear/structures_graph'。您是否尝试过运行'composer clearcache',然后运行'composer install'? – weirdan

+0

啊,你直接使用pear版本库,如下所述:https://getcomposer.org/doc/05-repositories.md#pear 然后忽略我以前的评论,有一个错误。 – weirdan

回答

3

该错误是由包含重复文件名的tar文件引起的,它已在PHP 7.0.5中修复。 在5.5和5.6中存在相同的错误,但是在这里它“仅”造成内存泄漏,因为php7中的代码更改只检查了无效的返回值,不适用于PHP 5.5或5.6。 memoryleak也已经在php 5.6.20中以与php 7.0.5相同的方式解决。

+0

确认,升级到7.0.5固定此。 –