2017-10-11 6 views
0

Tout d'abord, ceci est l'erreur réelle dans bash git:Comment réparer l'artisan? php optimize artisan jette un [ReflectionException]

php artisan optimize 

[ReflectionException] 
Class hash does not exist 

Aucun de mes commande artisan travaillent effectivement. Plus tôt aujourd'hui, c'était. Depuis que j'utilise git, j'ai essayé de trouver dans le code que je change ce qui pourrait être l'erreur. Sans succès.

J'utilise Laravel 5.4.36
php -v: PHP 7.1.9-1+ubuntu16.04.1+deb.sury.org+1
vagrant -v: Vagrant 2.0.0
version Homestead est 6.2.2 Homestead est installé sur Windows 10.

Il y a la liste de l'étape I essayé résoudre le problème.
1. composer dump-autoload -> à ECHEC php artisan optimize
2. composer update -> à ECHEC php artisan optimize
3. Vérifiez si Hash est présent dans config \ app.php

'providers' => [ 

    /* 
    * Laravel Framework Service Providers... 
    */ 
    .... 
    Illuminate\Hashing\HashServiceProvider::class, 
    .... 

'aliases' => [ 
    .... 
    'Hash' => Illuminate\Support\Facades\Hash::class, 
    .... 

3,1 Je regarde si ce fichier existe : Illuminate\Support\Facades\Hash Il existe. Je regarde si ce fichier existe: Illuminate\Hashing\BcryptHasher Il existe.
4. J'ai couru sudo chgrp -R www-data storage bootstrap/cache et sudo chmod -R ug+rwx storage bootstrap/cache.
Je ne pense pas que l'étape (4) a vraiment fait quelque chose qui pourrait aider à résoudre ce problème ...
5. Essayé composer dump-autoload encore ... Toujours à php artisan optimize ECHEC
6. Je supprimé le document fournisseur alors exécuté composer install Échec à php artisan optimize
7. J'ai essayé d'exécuter php artisan optimize dans le fichier situé localy sur mes fenêtres et aussi dans le fichier dans la machine virtuelle. Je sais que les deux fichiers sont liés, mais je voulais voir s'il y avait un problème avec l'un de la machine. Donc, maintenant je ne peux pas utiliser php artisan <command> et je ne sais pas quoi faire/essayer. Pouvez-vous s'il vous plaît m'aider à résoudre ce problème! Ce sera appréciable!

Répondre

0

Il semble que PHP essaye d'injecter une classe hash mais n'est pas capable de la résoudre. Toutefois, notez que l'erreur décrit le nom de la classe en minuscules. Comme vous l'avez souligné vous-même, vous avez probablement besoin de la célèbre façade Hash de Laravel. Étant donné que l'espace de noms PHP est sensible à la casse, je vous suggère de vérifier si votre Git commet des ajouts/modifications récentes référençant la version non capitalisée de la façade.