Obtention d'une erreur de serveur interne de 500 sur Laravel 5+ Ubuntu 14.04
J'ai installé Laravel plusieurs fois sur Windows OS mais il ne s'est jamais produit ce type de problème. Ce serveur interne de 500 se produit généralement lorsque votre module" mod_rewrite " n'est pas activé.
cependant, sur Ubuntu 14.04 ce problème me donne mal à la tête. J'ai installé rewrite_mod mais cela ne fonctionne pas non plus. J'ai donné accès à tous mes dossiers et dossiers à l'intérieur i.e.
/ var/www/html / laravel_project
ça ne fonctionne pas. Modifié. htaccess ainsi que de l'original à ceci.
+FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
j'ai toutes les extensions nécessaires pour Laravel 5+. Est-il quelque chose que je n'avais pas le faire?
20 réponses
finally overcome the problem
- Ce n'était pas la .fichier htaccess qui était le problème ni l'index.php. Le problème était d'accéder aux fichiers et d'exiger des permissions.
pour résoudre le problème j'ai lancé les commandes suivantes à travers le terminal.
sudo chmod 755 -R laravel_blog
puis tapez ci-dessous pour permettre à laravel d'écrire file to storage folder
chmod -R o+w laravel_blog/storage
ces deux commandes résolu le problème.
après l'installation, exécutez la commande
sudo chmod 755 -R laravel
chmod -R o+w laravel/storage
ici "laravel" est le nom du répertoire où laravel installé
j'ai rencontré une erreur similaire. J'ai vérifié le journal /var/log/apache2/error.log
un Unexpectdvalueexception
j'ai changé le propriétaire en mon utilisateur apache du dossier de stockage sous le project dir.
sudo chown -R www-data:www-data ./storage
dans mon cas, le propriétaire du procédé apache2 est www-data
, alors changez ceci pour le vôtre, cela peut être trouvé dans le fichier de configuration d'apache2. Espérons que cela est utile pour vous.
j'ai corrigé avec cette Commande:
rm -rf app/storage/logs/laravel.logs
chmod -R 777 app/storage,
php artisan cache:clear,
php artisan composer dump-autoload
que de redémarrer un serveur eather XAMPP ou un autre et qui devrait fonctionner.
une autre solution à ce problème:
installez les paquets requis en lançant la commande composer à partir de la racine du projet:
sudo composer install
mise à jour:
- vous ne devez pas exécuter cette commande sur un serveur de production, mais certains problèmes avec composer peuvent être résolus avec cette commande sur les serveurs locaux.
Il y a parfois des problèmes avec la version php. Nous devons changer la version php du serveur. Il suffit d'écrire en dessous de la chaîne dans .htaccess fichier:
AddHandler application/x-httpd-php5 .php
Un débutant mais c'est ce que j'ai fait parce que j'avais pas de clé
Créé le .env fichier et l'exécuter
php artisan key:generate
Cela a fonctionné pour moi, après avoir tiré un projet git
Exécuter ces commandes dans le répertoire où Laravel est installé:
sudo chmod 755 -R DIRECTORY_NAME
chmod -R o+w DIRECTORY_NAME/storage
puis vider le cache et décharger le chargement automatique:
php artisan cache:clear
composer dump-autoload
Exécuter ces deux commandes sur la racine de laravel
trouver * -type d -print0 | xargs -0 chmod 0755 # pour les répertoires
rechercher . -type f -print0 | xargs -0 chmod 0644 # fichiers
outre les raisons énumérées ci-dessus, il existe d'autres raisons pour lesquelles laravel peut donner 500 erreurs internes au serveur. Y compris manquant ou ancien CSRF, erreur de syntaxe, .configuration de miss htaccess, etc. Il y a toute une liste ici https://abbasharoon.me/how-to-fix-laravel-ajax-500-internal-server-error/
j'ai un problème similaire avec un hébergeur. J'avais 500 erreurs. Je viens de corriger en vérifiant la version Laravel et la version PHP. L'erreur est due au fait que Laravel 5.6 ne fonctionne pas sur PHP 7.0.x Une fois que je sais que je viens de reconfigurer le projet à Laravel 5.5 qui est compatible avec PHP 7.0.x maintenant tout va bien. Une autre raison pour laquelle j'ai des problèmes parfois est le FTP je reçois des fichiers corrompus et doivent télécharger le projet Plus d'une fois. J'espère que cette aide dans le futur je n'en ai pas trouvé tant l'information dans cette rubrique.
Pour ceux d'entre vous qui comme moi avez encore des erreurs après avoir essayé toutes les autres réponses :
Vérifiez la version de php utilisée par apache, la dernière version de laravel ne fonctionne qu'avec php7.1. Donc, vous devez :
sudo a2dismod php[yourversion]
sudo a2enmod php7.1
sudo systemctl restart apache2
espérons que cette aide
selon les logs:
[06-Feb-2016 22:38:48 Europe/Berlin] PHP Warning: require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:38:48 Europe/Berlin] PHP Fatal error: require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:43:37 Europe/Berlin] PHP Warning: require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:43:37 Europe/Berlin] PHP Fatal error: require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
il y a quelques échecs en ouvrant des fichiers dans le dossier /vendor.
en installant et en mettant à jour via composer, j'ai finalement pu résoudre le problème.
sudo composer install
sudo composer update
assurez-vous dossier de stockage avec écriture previlege (chmod O+w), Travailler pour moi comme un charme.
à cause de l'impossibilité d'écrire le répertoire du journal.
chmod 755 stockage -R
tout d'abord, autorisez toutes les permissions pour votre dossier de projet (disons qu'il s'appelle laravel), pour le sous-dossier de stockage et son sous-dossier logs et pour le sous-dossier vendeur (laravel/storage, laravel/storage/logs et laravel/vendor).
alors vérifiez si vous avez.fichier env - si non, vous pouvez exécuter:
$ mv .env.example .env
renommer votre construire-dans .env.exemple pour le nécessaire .env.
Sinon, activez le mode de débogage - ouvert .env et set
APP_DEBUG=true
et ouvrir laravel/config / app.php et changement
'debug' => env('APP_DEBUG', false),
'debug' => env('APP_DEBUG', true),
ainsi vous pouvez découvrir quelle est la raison de votre erreur.
j'ai fait face à ce problème et corrigé par la mise à niveau de ma version php dans apache jusqu'à 5.6.x
Ne modifiez la permission du dossier web que par cette commande:
sudo chmod 755 -R your_folder
J'avais PHP 7.0 et PH 7.1 installés et J'utilisais PHP 7.1 en ligne de commande et PHP 7.0 a été activé sur Apache, ce désordre peut apporter des problèmes lorsque vous utilisez Laravel Framework et localhost Apache2 avec laravel.
Vérifiez d'abord votre fichier composer pour voir votre version PHP.
"php": "^7.1.3",
"laravel/framework": "5.6.*",
Vérifiez votre version php actuelle en ligne de commande
php -v
vérifiez que votre version php actuelle est activée sur Apache, j'ai utilisé navigateur.
http://localhost
si ce n'est pas la même, désactivez la version actuelle et activez la plus récente.
sudo a2dismod php7.2
sudo a2enmod php7.1
sudo service apache2 restart
après cela, changez les permissions des dossiers
sudo chmod 755 -R blog
pour le dossier de stockage
chmod -R o+w blog/storage
Essayez de vérifier si vous avez .env
fichier.
Surtout cette chose peut provoquer quelque chose comme ça. Essayez de créer un fichier puis copier tout .env.example
, le coller dans votre fichier et le nom .env
. ou simplement il suffit de renommer le .env.example
fichier .env
et run php artisan key:generate