Erreur dans le gestionnaire d’exceptions. – Laravel

C’est une question liée à Laravel-install. J’ai une configuration de serveur Unix publique:

 ServerAdmin [email protected] DocumentRoot "/var/www/mydomain" ServerName mydomain.org ServerAlias www.mydomain.org ErrorLog "/var/log/mydomain.org-error_log" CustomLog "/var/log/mydomain.org-access_log" common  

Je peux dissortingbuer des documents à partir de / var / www / mydomain, par exemple http://mydomain.org/test.php avec test.php contenant:

 <?php echo 'test'; 

fonctionne bien

En bash, avec Laravel installé via Composer et en regardant les fichiers:

 # ls /var/www/mydomain/my-laravel-project .gitatsortingbutes CONTRIBUTING.md artisan composer.json phpunit.xml readme.md vendor .gitignore app bootstrap composer.lock public server.php 

Donc, quand je navigue vers:

 http://mydomain.org/my-laravel-project/public/ 

Pourquoi mon dossier de candidature indique-t-il:

 Error in exception handler. 

dans le navigateur – sur un écran blanc vide? Je m’attends à voir l’écran de démarrage de Laravel.

De plus, les fichiers journaux ne révèlent rien non plus.

L’option la plus sûre serait de changer le groupe des répertoires de stockage en groupe de serveurs Web (généralement apache ou www-data , mais cela peut varier entre les différents systèmes d’exploitation) et conserver les permissions à partir du répertoire comme 775 .

 chgrp -R www-data app/storage 

Ou avec la chown .

 chown -R :www-data app/storage 

Assurez-vous ensuite que les permissions de répertoire sont 775 .

 chmod -R 775 app/storage 

Sur le site Web de Laravel :

Laravel peut nécessiter un ensemble d’permissions pour être configuré: les dossiers de l’application / du stockage nécessitent un access en écriture par le serveur Web.

Laravel 5.2

chmod -R 777 stockage

Plus âgé Laravel chmod 777 app / stockage / *

Notez que si vous avez un serveur dédié raisonnablement verrouillé sans autre compte d’utilisateur que le vôtre, le 777 ne devrait pas poser plus de risques pour la sécurité qu’autre chose. Il devrait y avoir une autre vulnérabilité pour qu’un utilisateur malveillant profite de cela, et à ce moment-là, l’autorisation 777 est probablement sans intérêt. Si, toutefois, vous êtes sur un serveur partagé avec d’autres utilisateurs auxquels vous ne faites pas confiance, vous devrez rechercher des permissions plus compliquées ou vérifier si votre fournisseur d’hébergement a déjà fourni un isolement.

Ils devraient vraiment mettre cela dans les documents de démarrage rapide et fournir des exemples pour diverses configurations. Vous devrez peut-être également le réexécuter après le premier chargement car d’autres répertoires sont créés automatiquement. Recherchez dans vos journaux les erreurs d’écriture.

De plus, votre DocumentRoot devrait être / path / to / laravel-project / public

J’ai supprimé les anciennes sessions dans le dossier app/storage/sessions et j’ai accordé une autorisation 775 à app/storage après quoi cela fonctionne comme un feu!

 chmod -R 775 app/storage 

Bonne chance!

Le mouvement est passé depuis longtemps, mais j’ai toujours un autre conseil concernant “Erreur dans le gestionnaire d’exceptions”.

Cela m’est arrivé quand j’ai couru “php artisan”, ce qui est un bon moyen d’évaluer si votre environnement fonctionne en général.

Je l’ai exécuté et cela m’a donné cette erreur, et je n’ai pas pu identifier le problème jusqu’à ce que j’édite le fichier artisan dans le répertoire racine de mon projet et ajoute une instruction try catch:

 try { $artisan = Illuminate\Console\Application::start($app); } catch (Exception $e) { dd($e->getMessage()); } 

À quel point j’ai finalement vu un message éclairant:

 ssortingng(41) "Connection refused [tcp://127.0.0.1:6379]" 

ce qui dans mon cas était une mauvaise configuration redis, mais dans votre cas pourrait être n’importe quoi.

J’espère que cela aidera quelqu’un, ou au moins la prochaine fois que j’arriverai ici, je trouverai ma propre réponse.

Le moyen le plus court de résoudre ce problème est de commencer artisan avec sudo. Cela donnera à l’artisan toutes les permissions dont il a besoin et ne posera pas de problèmes de sécurité.

alors au lieu de commencer artisan servir avec:

 $ php artisan serve 

essayez d’utiliser:

 $ sudo php artisan serve 

vous n’aurez donc pas à modifier les permissions

J’ai le même problème, je modifie simplement l’autorisation de répertoire app / storage à 775 avec la ligne de commande chmod