Composer - phpseclib 所需的打开失败

问题描述 投票:0回答:3

我正在尝试在 Vagrant VM 中运行 PHP 文件,该 VM 也使用 Composer 进行构建。

我收到以下错误:

PHP Warning:  require(/var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/bootstrap.php): failed to open stream: No such file or directory in /var/www/ispe/vendor/composer/autoload_real.php on line 66

Warning: require(/var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/bootstrap.php): failed to open stream: No such file or directory in /var/www/CLIENT/vendor/composer/autoload_real.php on line 66
PHP Fatal error:  require(): Failed opening required '/var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/bootstrap.php' (include_path='.:/usr/share/php') in /var/www/CLIENT/vendor/composer/autoload_real.php on line 66

Fatal error: require(): Failed opening required '/var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/bootstrap.php' (include_path='.:/usr/share/php') in /var/www/CLIENT/vendor/composer/autoload_real.php on line 66

现在据我所知,此特定功能或其他任何功能不需要 phpseclib (尽管我还没有 100% 确认其他任何位)。

即便如此,我还是决定将其添加到我的composer.json ("phpseclib/phpseclib": "2.0.4") 中以消除错误,但没有运气。

我对 Composer 相当陌生,所以我想知道我在这里可能做错了什么或者需要设置什么。

我可以确认目录

/var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/
存在,但是目录中没有文件bootstrap.php。

相反,我看到以下内容:

Crypt  File  Math  Net  System

编辑:我还想澄清一下,文件 autoload.php 位于供应商目录内,并且 VM 的 PHP 版本是 7.0。

php symfony composer-php virtual-machine phpseclib
3个回答
27
投票

我坚信

cache
是问题所在,它不能100%确定,但请尝试销毁你的 Vagrant 实例,或者

您可以按照以下步骤操作:

  1. 删除
    vendor
    文件夹
  2. 删除
    composer.lock
  3. 运行命令
    composer clearcache
    (或
    clear-cache
  4. 奔跑
    composer install

2
投票

Oneliner 可轻松复制/粘贴:

rm -rf vendor composer.lock && composer clearcache && composer install

0
投票

对我来说,更改 Composer 版本解决了这个问题。我在使用最新的 Composer 版本时遇到了这个错误。

wget https://getcomposer.org/download/2.0.9/composer.phar
php81 -d memory_limit=-1 composer.phar clear-cache
php81 -d memory_limit=-1 composer.phar   install 
© www.soinside.com 2019 - 2024. All rights reserved.