Je sais que de nombreuses autres questions flottent autour de la même erreur, telles que: Classe 'Illuminate\Html\HtmlServiceProvider' introuvable Laravel 5
Mon problème est que j'ai suivi toutes les étapes suggérées pour résoudre ce problème sur mon site local (XAMPP) et que cela a été résolu sans anicroche. Le problème est lorsque je suis allé déployer sur ma boîte AWS Ubuntu (nginx). J'ai suivi toutes les instructions habituelles: http://laravelcollective.com/docs/5.1/html#installation
Mes fournisseurs et mes alias avaient été ajoutés lorsque j’ai tiré un extrait de ce que j’avais poussé de ma part. Peut-être que ce fichier aurait dû être gitignored et que les modifications ont été apportées manuellement sur le serveur?
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,
// ...
],
J'ai ensuite ajouté manuellement:
Begin by installing this package through Composer. Edit your project's composer.json file to require laravelcollective/html.
"require": {
"laravelcollective/html": "5.1.*"
}
Et finalement, j'ai couru:
composer.phar update
C'était en cours d'exécution cette commande qui lève l'erreur:
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] ...
J'ai ensuite essayé d'exécuter php artisan clairement compilé, pour voir si cela ferait quelque chose, et j'ai obtenu:
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
Je sais que mon environnement nginx ubuntu n’est pas identique à un environnement windows xampp, mais je ne comprends toujours pas pourquoi suivre les instructions fournies par Laravel pour l’ajouter ne semble pas fonctionner. J'apprécierais grandement des conseils à ce sujet.
À votre santé!
Lorsque vous mettez à jour votre compositeur, il vérifie les fournisseurs. Parce que vous n'avez pas encore installé laravelcollective/html
, il ne le trouve pas et génère une erreur:
Donc, commencez par avoir besoin de vos paquets, puis ajoutez-les au fichier de configuration.
Vous pouvez également travailler avec composer require laravelcollective/html
, il sera ajouté au fichier json automatiquement. Ensuite, peu importe si vous les avez ajoutés auparavant ou non, car le fichier de configuration ne sera pas vérifié.
J'ai rencontré la même erreur sur Laravel 5.2. *, Suivi des instructions ici: https://laravelcollective.com/docs/5.2/html , mais je n'ai pas fonctionné.
L'autre façon de résoudre ce problème, sur votre CLI, lancez:
$ composer dump-autoload
Puis lancez:
$ compositeur mise à jour
Cela fonctionne pour moi. ;)
Si vous utilisez Laravel 5.2, essayez d’ajouter ceci à votre composer.json
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*",
"laravelcollective/html": "^5.2",
...
},
L'installation a échoué, rétablissant le contenu d'origine de ./composer.json.
[ErreurException]
copie (/home/zahid/.composer/cache/files/laravelcollective/html/20e9e29d83e23a16dc4b8d93d0757e1541f076.Zip): échec de l'ouverture du flux: autorisation
ion refusé
Commande: composer nécessite laravelcollective/html --prefer-source
alors ça marche
Essayez d’abord update du compositeur . Il mettra à jour toutes les dépendances, mais au cas où cela ne fonctionnerait pas, supprimez le dossier du fournisseur de votre projet et tapez composer install et exécutez-le en cli, ce qui ajoute à nouveau des dépendances.