在 PHP 7 中使用 Composer 安装 PEAR 包是否有效?

Does using Composer to install PEAR packages work in PHP 7?

在 PHP 5.5 中使用 Composer 安装 PEAR 包工作正常(当然)。我已经设置了一个 PHP 7 测试框来查看我们的单元测试是否会在 PHP 7 下通过,我 运行 遇到的直接问题是 PEAR 依赖项不起作用:

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 不兼容,网上没有人写过?

该错误是由 tar 包含重复文件名的文件引起的,已在 php 7.0.5 中修复。 在 5.5 和 5.6 中存在相同的错误,但是这里它 "only" 导致内存泄漏,因为 php7 中的代码更改仅检查无效 return 值未应用于 php 5.5 或 5.6。内存泄漏也已在 php 5.6.20 中以与 php 7.0.5.

中相同的方式得到解决