Comment faire pour avoir l'affichage des erreurs PHP? (J'ai ajouté la fonction ini_set et des niveau, mais donne juste 500 sur les erreurs)
Donc, je n'ai pas vraiment d'éventuelles erreurs dans ma page web, mais je veux être en mesure de voir une erreur quand ils pop up, au lieu de la page d'erreur HTTP 500. J'ai googlé un peu et la pensée de l'ajout de ces deux lignes allait tout régler.
ini_set('display_errors', 'On');
error_reporting(E_ALL);
REMARQUE: je n'ai pas accès au php.fichier ini, que je suis sur mon compte de l'école du serveur.
J'ai donc introduit un bug (pas de point-virgule après $buggy) comme en haut de ma page:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$buggy
$x = 4 + 2;
...
Cependant, je viens d'obtenir une erreur de Serveur:
"Le site web a rencontré une erreur lors de la récupération de http://mywebpage.com/. Il peut être arrêté pour maintenance ou configuré de manière incorrecte."
Des idées?
EDIT:
J'ai reconfiguré mon code:
<?php
include_once 'database/errorSettings.php';
?>
<?php
$buggy //whoops
$x = 4 + 2;
...
errorSettings.php est la suivante:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
?>
Mais cela ne fonctionne toujours pas... mauvaise façon de reconfigurer?
- Avez-vous une erreur de redirection dans votre .fichier htaccess?
- vous semblez être source de confusion erreurs Apache avec php.
- Je ne suis pas sûr de ce que cela signifie. Je ne pense pas que j'ai accès à l' .fichier htaccess, mais peut-être que je n'laissez-moi vérifier. Aussi, je ne sais pas si c'est pertinent, mais le seul bug dans la page est le point-virgule manquant. Si je la sors, la page se charge très bien. (la vérification pour voir si je peux trouver dit .fichier htaccess)
- Donc, vous dites que je ne peux pas afficher de syntaxe php/autres erreurs en définissant le niveau de paramètres comme donné ci-dessus...? J'essaie juste de comprendre comment imprimer les erreurs PHP étant donné que je ne peux pas accès au php.ini ou faire beaucoup d'administration de serveur
- Et vous semblez être source de confusion ce qui provoque les erreurs HTTP 500. Si le script PHP échoue et ne pas les attraper sa propre erreur et ne produit pas de sortie alternative, Apache va recourir à la seule chose raisonnable: une erreur 500.
- je le sais, et comment édition de php.ini de l'aide? il l'habitude de la coopérative est de confondre les deux.
- Elle permettrait, en ce qu'elle est par défaut de PHP pour afficher les erreurs, ce qui signifie que le script PHP permettrait de produire de sortie, ce qui signifie que Apache ne serait pas jeter ses propres de 500 pages.
Vous devez vous connecter pour publier un commentaire.
Ce que vous avez est une erreur d'analyse. Ceux-ci sont jetés avant tout code est exécuté. Un fichier PHP doit être analysée dans son intégralité avant le code, il peut être exécuté. Si il y a une erreur d'analyse dans le fichier où vous êtes à la définition de vos niveaux d'erreur, ils n'ont pas pris effet au moment où l'erreur est levée.
Soit casser vos fichiers en parties plus petites, comme le réglage du taux d'erreur dans un fichier, et ensuite
include
ing un autre fichier qui contient le code (et les erreurs), ou de définir les niveaux d'erreur en dehors de PHP à l'aide de php.ini ou .htaccess directives.Vous devez définir le niveau de valeur dans un .fichier htaccess. Puisqu'il y a une erreur d'analyse, il n'est jamais à court de la fonction error_reporting() dans votre code PHP.
Essayer dans un .fichier htaccess (en supposant que vous pouvez utiliser une):
Je pense que 30719 correspond à E_ALL mais je me trompe peut-être.
Édition Mise À Jour: http://php.net/manual/en/errorfunc.constants.php
display_startup_errors
on
/1
. Aussi, j'ai mis un niveau d'explication.En ajoutant à ce que deceze dit ci-dessus. C'est une erreur d'analyse, afin de déboguer une erreur d'analyse, de créer un nouveau fichier à la racine nommé debugSyntax.php. Mettre ça:
Exécuter l'debugSyntax.php page et il affiche des erreurs d'analyse à partir de la page que vous avez choisi pour le test.
Il suffit d'écrire un code suivant en haut de fichier PHP:
J'ai eu ce problème lors de l'utilisation de PHP5.4 et Plesk 11.5
En quelque sorte, les rapports d'erreur et l'erreur d'affichage des paramètres dans le domaine parallels Plesk panel page de configuration ont été complètement ignorant tous les paramètres locaux dans .htaccess ou les scripts PHP. Je n'ai pas trouvé un moyen d'empêcher que cela se produise, il faut donc utiliser la Plesk paramètres pour activer le rapport d'erreurs et off.
Vous pouvez avoir des paramètres à votre php.ini qui empêche le site local de remplacer ces paramètres, peut-être appliquée par le panneau de configuration utilisé sur votre serveur.
À l'aide de Codeigniter (j'en suis à C3):
L'index.php l'écrasement des fichiers php.ini de configuration, etc index.php fichier, ligne 68:
Vous pouvez modifier cette option pour définir ce dont vous avez besoin. Voici la liste complète:
Espère que cela aide.
Les erreurs de syntaxe n'est pas cochée facilement dans des serveurs externes, juste des erreurs d'exécution.
Ce que je fais? Tout comme vous, j'utilise
Cependant, avant de l'exécuter, j'ai vérifier les erreurs de syntaxe dans un fichier PHP à l'aide d'une ligne de PHP vérificateur de syntaxe.
Le meilleur, à mon humble avis est Le Vérificateur de Code PHP
J'ai copier tout le code source, de le coller à l'intérieur de la boîte principale et cliquez sur le
Analyze
bouton.Ce n'est pas la méthode la plus pratique, mais les 2 procédures sont complémentaires et il résout complètement le problème