Composer php 自动加载的HTTP/Request2代码中的错误,如何对composer进行故障排除?

Composer php 自动加载的HTTP/Request2代码中的错误,如何对composer进行故障排除?,composer-php,Composer Php,我有两个不同的系统,上面克隆了一个git存储库。 该项目使用composer安装各种依赖项。 其中之一是pear/HTTP_Request2,它需要Net/URL2 这两个系统都是带有xampp开发环境的Windows。因此,两者都运行带有PHP7.1.*安装的Apache2 通过composer-install安装后,其中一款手机的所有功能都能正常工作。但另一个总是在自动加载的HTTP/Request2代码中出错: <b>Warning</b>: require_on

我有两个不同的系统,上面克隆了一个git存储库。
该项目使用composer安装各种依赖项。
其中之一是
pear/HTTP_Request2
,它需要
Net/URL2

这两个系统都是带有xampp开发环境的Windows。因此,两者都运行带有PHP7.1.*安装的Apache2

通过
composer-install
安装后,其中一款手机的所有功能都能正常工作。但另一个总是在自动加载的HTTP/Request2代码中出错:

<b>Warning</b>:  require_once(Net/URL2.php): failed to open stream: No such file or directory in <b>C:\xampp\htdocs\XXX\vendor\pear\http_request2\HTTP\Request2.php</b> on line <b>25</b><br />
<br />
<b>Fatal error</b>:  require_once(): Failed opening required 'Net/URL2.php' (include_path='C:\xampp\htdocs\XXX\vendor/pear/pear_exception;C:\xampp\htdocs\XXX\vendor/pear/http_request2;C:\xampp\php\PEAR') in <b>C:\xampp\htdocs\XXX\vendor\pear\http_request2\HTTP\Request2.php</b> on line <b>25</b><br />
根据编写器的输出判断,NetURL2的依赖项已成功安装

尽管如此,我还是试图通过在项目中要求HTTP/Request2
“pear/net_url2”:“^2.2.0”
中的依赖项来修复它,因为我从一个bug(很久以前就关闭了,但仍然存在)那里听到了关于该()的问题的消息,这并没有导致任何更改

根据检查过的代码判断,我也认为它已经过时了

现在我被困在不知道下一步该做什么。。。帮忙

编辑: 如果有人想知道,我的composer.json基本上是这样的:

{
"require":
  {
    "php":">=7.1.4",
    "pear/http_request2": "v2.3.0",
    "ext-json":"1.5.0",
    "ext-PDO":"7.*",
    "ext-pdo_mysql":"7.*",
    "ext-mbstring":"7.*",
    "ext-gd":"7.*"
  },
  "autoload": {
    "files": [
      "helper.php",
      "settings.php"
    ],
    "classmap": ["./"],
    "exclude-from-classmap": ["vendor/"]

  }
}
要对Composer进行常规故障排除,您可以为详细信息添加
-vvv
标志

其次,当您安装了PHP扩展时,每次发生致命错误时都会看到一个调用堆栈

注意:运行phpenmod-s cli xdebug以在cli模式下启用xdebug


当它尝试包含
Net/URL2.php
文件(pear/Net\u URL2的一部分,完整路径:
vendor/pear/Net\u URL2/Net/URL2.php
)时,(根据)会发生致命错误

此路径通常应由Composer添加到
include_paths.php
中,如:

vendor/composer/include_paths.php:    $vendorDir . '/pear/net_url2',
但没有做到这一点。要再次生成自动加载文件,请运行以下命令:

composer dump-autoload -o
并检查
vendor/composer
下的自动加载文件是否已按预期生成

为了测试这一点,我运行了这个PHP命令,它起了作用:

php -r 'require_once "vendor/autoload.php"; require_once "vendor/pear/http_request2/HTTP/Request2.php";'
注意:要查看失败的场景,请删除
autoload.php
的include

php -r 'require_once "vendor/autoload.php"; require_once "vendor/pear/http_request2/HTTP/Request2.php";'