Я знаю, что с той же ошибкой возникает множество других вопросов, таких как: Класс ‘Illuminate \ Html \ HtmlServiceProvider’ не найден Laravel 5
Моя проблема в том, что я выполнил все предложенные шаги, чтобы решить эту проблему на своем локальном компьютере (XAMPP), и он исправил это без помех. Проблема в том, когда я перешел к развертыванию на своем AWS Ubuntu Box (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 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 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",
...
},
Установка не удалась, вернув ./composer.json к исходному содержимому.
[ErrorException] copy (/home/zahid/.composer/cache/files/laravelcollective/html/20e9e29d83e23aba16dc4b8d93d0757e1541f076.zip): не удалось открыть поток: PermissКоманда: composer требует laravelcollective / html —prefer-source
тогда это работает
Первая попытка обновление композитора . Он обновит все зависимости, но в случае, если это не сработает, удалите папку vendor вашего проекта и введите композитор установить и запустите в cli, который снова добавляет зависимости.