IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Serveurs (Apache, IIS,...) Discussion :

HTTP ERROR 500 sur NGINX


Sujet :

Serveurs (Apache, IIS,...)

  1. #1
    Candidat au Club Avatar de Naruhiko315
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 14
    Points : 4
    Points
    4
    Par défaut HTTP ERROR 500 sur NGINX
    Bonsoir,

    J'ai un petit problème avec mon serveur NGINX

    Mon serveur est sous NGINX, et lorsque je fais des erreurs PHP dans un fichier accessible en " .php " (malgré la présence de mon routeur (le routeur crée des urls comme celles-ci: www.domaine.com/accueil, mais les fichiers .php restent accessibles quand ils sont pas dans le dossier " pages/ ": www.domaine.com/test.php )) elles s'affichent. En revanche, si je fais une erreur dans un fichier créé et traité par la redirection de mon routeur, j'ai une erreur " HTTP ERROR 500 ". C'est peut-être un peu incompréhensible, alors voici des exemples (le contenu et l'erreur PHP est la même pour les deux fichiers):

    Je ne pense pas que ça vient du fichier " router.php ", mais plutôt de mes règles NGINX qui s'occupent de mes URLs. Cependant, je ne vois pas comment régler ce comportement afin que les erreurs s'affichent même sur mes pages redirigées par NGINX sans me couper l'accès à la page ( HTTP ERROR 500 ). Voici la configuration NGINX par rapport à PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    location / {
        try_files $uri /index.php?page=$uri;
    }
    
    location ~ /\. {
        deny all;
    }
    
    location ~* \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    }
    D'ailleurs les fichiers " .php " (s'ils existent) restent accessibles dans une url du type " www.domaine.com/test.php ", mais comment empêcher ce comportement ou/et comment rediriger vers une page 404 par exemple si le fichier .php n'existe pas ?

    Merci d'avance de vos réponses,

    Cordialement,

  2. #2
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    La redirection 404 si le fichier n'existe pas, tu la gère via le fichier htaccess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ErrorDocument 404 /erreur404.php
    Pour l'accès au fichier php, tu peut créer une constante, qui ne peut être instancié uniquement en passant par une url normal (dans un fichier inclue dans toutes tes page)), et vérifie si elle est existante au début de tes fichiers php.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!defined('SECURE')) die('Nice try !');
    Pour l'erreur 500, j'ai un doute mais ne serait-ce pas dû à l'utilisation de ob_start() ? (j'ai vu cela sur ton autre poste)

  3. #3
    Candidat au Club Avatar de Naruhiko315
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup de toutes ces réponses.

    Premièrement, j'utilise NGINX donc d'après ce site: https://winginx.com/en/htaccess ; le code qui correspond serait le suivant, mais le problème c'est que je n'ai pas des urls dans le format " .php "; donc comment et où le placer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ErrorDocument 404 /erreur404.php
    ?

    Ensuite, l'idée du DEFINE doit être assemblée à celle du 404, c'est bien ça ?

    Enfin, je viens tout juste d'essayer et visiblement même en enlevant ob_start() et ob_get_clean() j'ai le même résultat d'erreur :/

  4. #4
    Candidat au Club Avatar de Naruhiko315
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Je relance ^^

  5. #5
    Candidat au Club Avatar de Naruhiko315
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Je relance ^^

  6. #6
    Candidat au Club Avatar de Naruhiko315
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    J'ai réussi a régler le problème du router en rajoutant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ini_set('display_errors', 'on');
    error_reporting(E_ALL);
    En début de l'index.php !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. abort: HTTP Error 500: Internal Server Error
    Par cyberps2 dans le forum Autres DVCS
    Réponses: 1
    Dernier message: 14/10/2009, 11h59
  2. [AJAX] [Method error 500] sur un CascadingDropDown
    Par LaDeveloppeuse dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/02/2009, 11h46
  3. Exception Http status 500 sur JBOSS
    Par denza1 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 20/08/2008, 12h26
  4. Error 500 sur url avec &
    Par gregmtl dans le forum IIS
    Réponses: 1
    Dernier message: 21/07/2008, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo