0
votes

500 problème avec Laravel

J'ai vu cette réponse dans de nombreux postes mais ils ne m'ont pas aidé du tout. J'ai suivi les étapes régulières pour créer le projet Laravel comme celui-ci:

  1. j'ai cloné de mon référentiel.
  2. i courtiser le compositeur mise à jour.
  3. J'ai ajouté 777 Autorisations aux dossiers de stockage et de bootstrap.
  4. J'ai un fichier .env.
  5. J'ai verfié les .htacces et ça va.

    Il travaille dans Locahost, mais lorsque j'essaie de le répliquer à Hostinger, il ne fonctionne pas, il affiche l'erreur 500 serveur. Alors je me demande quel est le problème?

    J'ai vérifié les journaux par le chemin et ils étaient vides. J'ai mis le débogueur du projet Laravel à vrai aussi.

    L'URL du site Web est xellin.com

    Le débogage:

     débogage

    Le dossier Journaux:

     dossier des journaux

    merci.


15 commentaires

Question: Après le quatrième point (.env) ... Avez-vous ajouté une clé d'application? Il suivrait pour ajouter une clé d'application avec PHP Artisan Key: Générez (cela fait partie du nouveau processus de clone).


Salut @Paulmartimx Oui je l'ai fait, j'ai couru la commande de commande PHP Génératrice pour voir si cela pourrait être et j'ai le même résultat.


Vérifiez votre journal d'erreur et laissez-nous savoir ici. Vous pouvez vérifier sur votre journal d'erreur de serveur ou sur votre journal Laravel.


Avez-vous vérifié le journal Laravel et ou les journaux d'erreur du serveur? Un 500 est une erreur publique générale conçue pour protéger le monde de voir l'erreur réelle. L'erreur réelle sera enregistrée dans l'une des journaux. Si vous le pouvez pour un bref moment, vous changez de débogage = true dans votre .env très rapidement pour voir quelle est l'erreur réelle. C'est risqué car il a exposé des données au public, même pour une brève seconde.


Salut @sta ce serveur n'a pas de cPanel: /


Salut @jeremykenedy je suis allé au stockage / bûches mais le dossier est vide ... et je mets le laravel comme du débogueur true dans le fichier .env et config


@EMRYPTED ... Une chose que je connais à coup sûr: si l'erreur n'était pas enregistrée dans les journaux Laravel, le cycle de vie de l'exécution de Laravel n'est jamais arrivé. Ce qui signifie que c'est un problème est lié à l'interaction initiale entre PHP et Server lui-même (PHP / Apache / Nginx) ... et le seul moyen de savoir ce qui se passe dans cette situation consiste à inspecter les journaux d'erreur Apache / Nginx ... pas Laravel


@Sta j'avais fait que j'ai le même résultat


Effacez votre config PHP Artisan config: Effacer


@Sta je viens de le faire en ce moment et j'ai regardé le site Web avec le navigateur de Tor pour sauter le cache et le cookie des trucs et le même problème: / et j'ai eu la même erreur.


Les gars ... vous devez souligner que Laravel ne fonctionne pas encore un ce point. Tous les symptômes indiquent qu'il s'agit d'une erreur de serveur / PHP sous-jacente ... Voir ma réponse ci-dessous pour une explication plus détaillée.


Version possible Mismatch. Dites-nous votre version de Laravel et vérifiez la version PHP sur votre serveur et laissez-nous savoir ici.


@Sta oui, c'est très possible. Si c'est Laravel 7, vous avez besoin de PHP 7.3 au minimum.


@Paulmartimx Si la version PHP Mismatch, alors le Laravel ne peut pas fonctionner, des journaux restent vides.


@Paulmartimx Il avait raison, ce n'était pas un problème Laravel, c'était un problème Apache: SoftException en application.cpp: 404: inadéquation entre UID cible (1000) et UID (0) de fichier "/ home / xellin / public_html / index. php "


3 Réponses :


1
votes

Je pense que c'est une bonne occasion de souligner comment PHP / Laravel / Stationt Server interagit les uns aux autres .

premier:

  1. Le serveur HTTP inspecte la racine de documents et .htaccess pour obtenir des instructions.
  2. Si le fichier est .php (comme Laravel), il appelle ensuite au gestionnaire PHP.
  3. Le gestionnaire PHP pourrait être une version FPM ou une version CGI rapide.

    -> Si une erreur OCRURS analyse du .htaccess ou avec l'interaction initiale entre le serveur HTTP et PHP ... Laravel ne fonctionne jamais pour de vrai. Toutes les extrémités dans un journal d'erreur PHP

    Pour savoir ce qui ne va pas, vous devez inspecter le serveur PHP / HTTP sur l'erreur dans leurs journaux respectifs.

    En mots courts: à ce stade n'est pas une erreur LARAVAVILE, mais un serveur / PHP One.

    deuxième:

    Si Apache / PHP fonctionne bien, PHP exécute le cycle de vie de l'applicothérapie Laravel ... Si le Laravel rencontre un problème, vous verrez l'erreur de sortie habituelle du gestionnaire d'erreurs de Laravel.

    Je pense que cela est un must de savoir travailler avec des applications Web en général, car de nombreux développeurs manquent de capter si le problème était avec Laravel ou avec PHP / Server lui-même.

    comme une note latérale, c'est pourquoi il est important de savoir comment choisir un service d'hébergement de propert pour Laravel .

    Merci de la lecture.


1 commentaires

Vous aviez raison, c'était un problème Apache, ce n'est pas un problème de Laravel.



0
votes

Vous pouvez essayer de effacer le cache Comme en php artisan optimise Ou alors Vous pouvez supprimer manuellement des fichiers de cache qui se trouve dans le dossier Bootstrap et dans le dossier Bootstrap inside Vous pouvez voir le dossier de cache dans le dossier de cache Supprimer tous les fichiers, à l'exception de Git Ignorer Fichier votre solution Si vous affichez à nouveau cette erreur sur Live Servir, vous pouvez mettre à jour votre compositeur, puis exécuter PHP Artisan Optimize


0 commentaires

0
votes

Au début, si vous donnez l'un de vos dossiers 777 Autorisations, vous permettez à Toute personne à lire, écrire et exécuter n'importe quel fichier dans ce répertoire .... Qu'est-ce que cela signifie que vous avez donné à quiconque (n'importe quel pirate pirate ou personne malveillante dans le monde entier) autorisez de télécharger n'importe quel fichier, virus ou tout autre fichier, puis exécutez ce fichier ... Soyez donc prudent car si vous définissez vos autorisations de dossier sur 777, vous avez ouvert votre serveur. À toute personne qui peut trouver ce répertoire. Veuillez lire l'explication complète de ici

la seconde Voici les étapes détaillées que j'ai utilisées pour déployer mes projets sur le serveur:

  1. Exécuter NPM Exécuter Production Puis mettez à jour votre repo github.
  2. Clonez le projet de GITUB au serveur - Clone à un dossier extérieur (NOT PUBLIC_HTML Dossier)
  3. Run CD
  4. Exécuter compositeur installer
  5. Run NPM Installez
  6. Copiez et configurez le fichier .env dans le dossier cloné (assurez-vous que le nom est sûr. N'EN ENV).
  7. Copiez tout le contenu de cloned_project_folder_name / Public au dossier public_html
  8. in index.php dans le dossier public_html Modifier comme ci-dessous xxx
    1. Définissez correctement votre .htaccess.
    2. Changer la permission à 755 à index.php et à tous les fichiers dans le dossier public_html
    3. Run Compositeur Installation --Optimize-Autoloader --NO-Dev
    4. Exécuter PHP Artisan config: cache
    5. Run PHP Artisan Itinéraire: Cache

      Je pense que je l'énonce tout, espère que cela aidera


0 commentaires