Steven Matthews
Steven Matthews

Reputation: 11275

Composer - failed opening required for phpseclib

I am trying to run a PHP file in a Vagrant VM which also uses composer for the build.

I am getting the following errors:

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

Now as far as I can tell, phpseclib shouldn't be required for this particular functionality, or anything else (though I haven't 100% confirmed the anything else bit yet).

Even so, I decided to add it to my composer.json ("phpseclib/phpseclib": "2.0.4") to get rid of the errors, with no luck.

I'm fairly new to Composer, so I am wondering precisely what I might be doing wrong here or what needs to be setup.

I can confirm that the directory /var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/ exists, however there is no file bootstrap.php inside the directory.

Instead I see the following:

Crypt  File  Math  Net  System

EDIT: I also want to clarify that the file autoload.php is inside the vendor directory and that the PHP version of the VM is 7.0.

Upvotes: 9

Views: 17460

Answers (3)

Shahid Chaudhary
Shahid Chaudhary

Reputation: 948

For me, changing the Composer version resolved the issue. I was encountering this error with the latest Composer version.

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 

Upvotes: -1

Saumya Rastogi
Saumya Rastogi

Reputation: 13693

I strongly believe that the cache is the problem, It cannot be 100% sure but try destroying your Vagrant instance, or

You could follow the following steps:

  1. Delete the vendor folder
  2. Delete composer.lock
  3. Run the command composer clearcache (or clear-cache)
  4. Run composer install

Upvotes: 27

Flyke
Flyke

Reputation: 367

Oneliner for easy copy/pasting:

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

Upvotes: 2

Related Questions