Laravel 5 Class 'Collective \ Html \ HtmlServiceProvider' не найден на AWS

Я знаю, что есть масса других вопросов, плавающих вокруг там с той же ошибкой, например: Class 'Illuminate \ Html \ HtmlServiceProvider' не найден Laravel 5

Моя проблема в том, что я выполнил все предложенные шаги, чтобы решить эту проблему на моем локальном (XAMPP), и он исправил ее без заминок. Проблема заключается в том, когда я пошел на развертывание в мой AWS ubuntu (nginx). Я выполнил все обычные инструкции: http://laravelcollective.com/docs/5.1/html#installation

Мои провайдеры и псевдонимы были добавлены, когда я сделал git pull от того, что я вытолкнул из своего местного. Возможно, этот файл должен быть gitignored, а изменение сделано вручную на сервере?

Next, add your new provider to the providers array of config/app.php: 'providers' => [ // ... Collective\Html\HtmlServiceProvider::class, // ... ], Finally, add two class aliases to the aliases array of config/app.php: 'aliases' => [ // ... 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, // ... ], 

Затем я добавил вручную:

 Begin by installing this package through Composer. Edit your project's composer.json file to require laravelcollective/html. "require": { "laravelcollective/html": "5.1.*" } 

И, наконец, я побежал:

 composer.phar update 

Он выполнял эту команду, которая выдает ошибку:

 PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0 > php artisan clear-compiled PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0 PHP Fatal error: Class 'Collective\Html\HtmlServiceProvider' not found in /usr/share/nginx/html/cbt/vendor/compiled.php on line 6 [Symfony\Component\Debug\Exception\FatalErrorException] Class 'Collective\Html\HtmlServiceProvider' not found Script php artisan clear-compiled handling the pre-update-cmd event returned with an error [RuntimeException] Error Output: PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0 PHP Fatal error: Class 'Collective\Html\HtmlServiceProvider' not found in /usr/share/nginx/html/cbt/vendor/compiled.php on line update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-auties] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [packages1] ... 

Затем я попытался скомпилировать php-artisan, чтобы убедиться, что это будет что-то делать, и получил:

 PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0 PHP Fatal error: Class 'Collective\Html\HtmlServiceProvider' not found in /usr/share/nginx/html/cbt/vendor/compiled.php on line 6716 [Symfony\Component\Debug\Exception\FatalErrorException] Class 'Collective\Html\HtmlServiceProvider' not found 

Я знаю, что моя среда nginx ubuntu не такая же, как Windows xampp env, но я все еще не уверен, почему последующие инструкции по добавлению Laravel для добавления этого не работают. Был бы очень признателен за некоторые советы по этому поводу.

Ура!

Когда вы обновите свой композитор, он проверит поставщиков. Поскольку вы не установили laravelcollective/html он не может найти его и выдает ошибку:

Поэтому сначала требуйте свои пакеты, а затем добавьте их в файл конфигурации.

Вы также можете работать с composer require laravelcollective/html , он автоматически добавит его в json-файл. Тогда не имеет значения, добавили ли вы их раньше или нет, потому что файл конфигурации не будет проверен.

Я столкнулся с той же ошибкой в ​​Laravel 5.2. *, Следуя инструкциям здесь: https://laravelcollective.com/docs/5.2/html , но не работал.

Другой способ исправить это, на вашем CLI, запустить:

$ composer dump-autoload

Затем выполните:

$ composer update

Это работает для меня. 😉

Если вы используете Laravel 5.2, попробуйте добавить это в свой composer.json

 "require": { "php": ">=5.5.9", "laravel/framework": "5.2.*", "laravelcollective/html": "^5.2", ... },