Failed opening required ‘vendor/autoload.php’ error message

Posted on

This is an article which is going to reveal a possible error generated and also the cause of the error message shown in an Apache Webserver’s error log :

failed opening required 'vendor/autoload.php'

The error message is generated when the project based on Laravel framework has already been created but there is a failure in the process.  Below is the execution’s process to create a Laravel framework-based project :

1. Go to the folder which is defined as the DocumentRoot of a Webserver used for the web application. The Webserver in this context is Apache Webserver and it is using ‘/var/www/html’ folder as its DocumentRoot. So, first of all, access ‘/var/www/html’/. Please adjust it with the environment and the circumstance of the deployed Laravel framework-based project :

user@hostname:~$ cd /var/www/html/

2. Create a project which is a Laravel framework-based project :

user@hostname:/var/www/html$ composer create-project laravel/laravel infrastructure 

In the above command, the Laravel framework-based project is using composer for creating the base structure. After the process of creating the project has already finished, the default page of Laravel-based framework web application doesn’t appear.

The complete error is shown as follows :

PHP Fatal error:  require(): Failed opening required '/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/php') in bootstrap/autoload.php on line xx

Actually, for some reason the process of creating the complete structure of Laravel framework-based application is not successfully completed. After checking the structure, there isn’t any ‘vendor’ directory available. And the cause of the problem is because the composer is not update and the update process takes a HTTP connectivity which is at the moment the command for creating the Laravel framework-based project is quite unstable.

So, based on that, the solution which is taken to be implemented is shown below :

1. First of all, check the connectivity of HTTP for Composer. Read the article titled ‘Composer Checking HTTP connectivity’ in this link.

2. Update the composer version. Check the article titled ‘How to update Composer in Linux’ in this link to know how to update a composer.

3. Run the following command to begin installing package needed to start the web application based on Laravel framework.

composer install

Below is the output of the command :

user@hostname:/var/www/html/laravel-project$ composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
The "http://packagist.org/p/laravel/laravel%244e0a2048d6fc4dbcff3502eb26838fa6ea81a60624c3a43d430a9037267750ee.json" file could not be downloaded: failed to open stream: Network is unreachable
http://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date


Failed to decode response: zlib_decode(): data error
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info

Package operations: 60 installs, 0 updates, 0 removals
  - Installing symfony/polyfill-mbstring (v1.3.0) Downloading: 100%         
  - Installing symfony/var-dumper (v3.1.10) Downloading: 100%         
  - Installing symfony/translation (v3.1.4) Loading from cache
  - Installing symfony/routing (v3.1.4) Loading from cache
  - Installing symfony/process (v3.1.4) Loading from cache
  - Installing symfony/http-foundation (v3.1.4) Loading from cache
  - Installing symfony/event-dispatcher (v3.2.2) Downloading: 100%         
  - Installing psr/log (1.0.2) Downloading: 100%         
  - Installing symfony/debug (v3.1.4) Loading from cache
  - Installing symfony/http-kernel (v3.1.4) Loading from cache
  - Installing symfony/finder (v3.1.4) Loading from cache
  - Installing symfony/console (v3.1.4) Loading from cache
  - Installing swiftmailer/swiftmailer (v5.4.3) Downloading: 100%         
  - Installing paragonie/random_compat (v2.0.2) Loading from cache
  - Installing ramsey/uuid (3.5.0) Loading from cache
  - Installing jakub-onderka/php-console-color (0.1) Downloading: 100%         
  - Installing jakub-onderka/php-console-highlighter (v0.3.2) Downloading: 100%         
  - Installing dnoegel/php-xdg-base-dir (0.1) Downloading: 100%         
  - Installing nikic/php-parser (v2.1.1) Loading from cache
  - Installing psy/psysh (v0.7.2) Downloading: 100%         
  - Installing nesbot/carbon (1.21.0) Downloading: 100%         
  - Installing mtdowling/cron-expression (v1.1.0) Downloading: 100%         
  - Installing monolog/monolog (1.21.0) Downloading: 100%         
  - Installing league/flysystem (1.0.27) Loading from cache
  - Installing symfony/polyfill-util (v1.3.0) Downloading: 100%         
  - Installing symfony/polyfill-php56 (v1.3.0) Downloading: 100%         
  - Installing jeremeamia/superclosure (2.2.0) Downloading: 100%         
  - Installing doctrine/inflector (v1.1.0) Downloading: 100%         
  - Installing classpreloader/classpreloader (3.0.0) Downloading: 100%         
  - Installing laravel/framework (v5.3.10) Loading from cache
  - Installing fzaninotto/faker (v1.6.0) Downloading: 100%         
  - Installing hamcrest/hamcrest-php (v1.2.2) Downloading: 100%         
  - Installing mockery/mockery (0.9.7) Downloading: 100%         
  - Installing symfony/yaml (v3.2.2) Downloading: 100%         
  - Installing sebastian/version (2.0.1) Downloading: 100%         
  - Installing sebastian/resource-operations (1.0.0) Loading from cache
  - Installing sebastian/recursion-context (2.0.0) Downloading: 100%         
  - Installing sebastian/object-enumerator (2.0.0) Downloading: 100%         
  - Installing sebastian/global-state (1.1.1) Downloading: 100%         
  - Installing sebastian/exporter (2.0.0) Downloading: 100%         
  - Installing sebastian/environment (2.0.0) Downloading: 100%         
  - Installing sebastian/diff (1.4.1) Downloading: 100%         
  - Installing sebastian/comparator (1.2.4) Downloading: 100%         
  - Installing doctrine/instantiator (1.0.5) Downloading: 100%         
  - Installing phpunit/php-text-template (1.2.1) Downloading: 100%         
  - Installing phpunit/phpunit-mock-objects (3.4.3) Downloading: 100%         
  - Installing phpunit/php-timer (1.0.8) Downloading: 100%         
  - Installing phpunit/php-file-iterator (1.4.2) Downloading: 100%         
  - Installing sebastian/code-unit-reverse-lookup (1.0.0) Loading from cache
  - Installing phpunit/php-token-stream (1.4.9) Downloading: 100%         
  - Installing phpunit/php-code-coverage (4.0.5) Downloading: 100%         
  - Installing webmozart/assert (1.2.0) Downloading: 100%         
  - Installing phpdocumentor/reflection-common (1.0) Downloading: 100%         
  - Installing phpdocumentor/type-resolver (0.2.1) Downloading: 100%         
  - Installing phpdocumentor/reflection-docblock (3.1.1) Downloading: 100%         
  - Installing phpspec/prophecy (v1.6.2) Downloading: 100%         
  - Installing myclabs/deep-copy (1.6.0) Downloading: 100%         
  - Installing phpunit/phpunit (5.7.9) Downloading: 100%         
  - Installing symfony/css-selector (v3.1.10) Downloading: 100%         
  - Installing symfony/dom-crawler (v3.1.10) Downloading: 100%         
symfony/var-dumper suggests installing ext-symfony_debug ()
symfony/translation suggests installing symfony/config ()
symfony/routing suggests installing doctrine/annotations (For using the annotation loader)
symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
symfony/routing suggests installing symfony/dependency-injection (For loading routes from a service)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/event-dispatcher suggests installing symfony/dependency-injection ()
symfony/http-kernel suggests installing symfony/browser-kit ()
symfony/http-kernel suggests installing symfony/class-loader ()
symfony/http-kernel suggests installing symfony/config ()
symfony/http-kernel suggests installing symfony/dependency-injection ()
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
ramsey/uuid suggests installing ircmaxell/random-lib (Provides RandomLib for use with the RandomLibAdapter)
ramsey/uuid suggests installing ext-libsodium (Provides the PECL libsodium extension for use with the SodiumRandomGenerator)
ramsey/uuid suggests installing ext-uuid (Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator)
ramsey/uuid suggests installing moontoast/math (Provides support for converting UUID to 128-bit integer (in string form).)
ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.)
ramsey/uuid suggests installing ramsey/uuid-console (A console application for generating UUIDs with ramsey/uuid)
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3)
league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching)
league/flysystem suggests installing league/flysystem-copy (Allows you to use Copy.com storage)
league/flysystem suggests installing league/flysystem-dropbox (Allows you to use Dropbox storage)
league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib)
league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
laravel/framework suggests installing aws/aws-sdk-php (Required to use the SQS queue driver and SES mail driver (~3.0).)
laravel/framework suggests installing doctrine/dbal (Required to rename columns and drop SQLite columns (~2.4).)
laravel/framework suggests installing guzzlehttp/guzzle (Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).)
laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (~1.0).)
laravel/framework suggests installing league/flysystem-rackspace (Required to use the Flysystem Rackspace driver (~1.0).)
laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (~3.0).)
laravel/framework suggests installing predis/predis (Required to use the redis cache and queue drivers (~1.0).)
laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (~2.0).)
laravel/framework suggests installing symfony/psr-http-message-bridge (Required to psr7 bridging features (0.2.*).)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/phpunit-mock-objects suggests installing ext-soap (*)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.4.0)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
phpunit/phpunit suggests installing ext-xdebug (*)
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
user@hostname:/var/www/html/laravel-project$ 

The command is executed in the base folder of the already created folder generated from the previous command used to create a new Laravel framework-based web application. And the error will not showed up any more in the error log file.

One thought on “Failed opening required ‘vendor/autoload.php’ error message

Leave a Reply