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?

43
demandé sur DpEN 2015-07-21 18:18:48

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.

165
répondu DpEN 2018-05-03 00:03:16

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é

19
répondu Sujendra Kumar 2016-03-08 05:58:50

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.

11
répondu Snriud 2016-06-01 07:14:37

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.

10
répondu Atdhe Kurteshi 2017-02-08 20:03:54

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.
9
répondu Christos Papoulas 2018-05-20 06:24:48

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
4
répondu Riyan Sheikh 2016-10-06 07:28:10

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

4
répondu Goodlife 2017-05-03 14:23:33

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
2
répondu Ayman 2017-03-13 16:43:36

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

1
répondu Davinder Singh 2016-06-07 17:43:08

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/

1
répondu Meta Pakistani 2016-11-02 12:14:08

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.

1
répondu Josean Maya 2018-02-21 13:07:17

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

1
répondu Ika Tobihi 2018-05-16 11:51:04

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
0
répondu tomsihap 2016-02-06 23:46:16

assurez-vous dossier de stockage avec écriture previlege (chmod O+w), Travailler pour moi comme un charme.

0
répondu user3619249 2016-09-21 01:32:17

à cause de l'impossibilité d'écrire le répertoire du journal.

chmod 755 stockage -R

0
répondu George Peter 2016-11-10 22:11:52

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.

0
répondu tsveti_iko 2016-11-29 15:16:54

j'ai fait face à ce problème et corrigé par la mise à niveau de ma version php dans apache jusqu'à 5.6.x

0
répondu Mahmoud Niypoo 2017-07-22 21:50:27

Ne modifiez la permission du dossier web que par cette commande:

sudo chmod 755 -R your_folder

0
répondu Muhammad Shoaib 2018-02-09 14:07:15

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
0
répondu Saulo Campos 2018-09-01 17:13:02

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

0
répondu Lesther Bualan 2018-09-27 06:08:41