Je ne peux pas changer le php.ini pour une raison quelconque,Comment est-ce que je fais PHP produire toutes les informations d'erreur par programme?
comment puis-je le faire au niveau du code?
Je ne peux pas changer le php.ini pour une raison quelconque,Comment est-ce que je fais PHP produire toutes les informations d'erreur par programme?
comment puis-je le faire au niveau du code?
Essayez
ini_set
- Définit la valeur d'une option de configurationExemple de Manuel:
if (!ini_get('display_errors')) {
ini_set('display_errors', 1);
}
mais gardez à l'esprit votre service d'hébergement pourrait avoir cadre programmatique désactivé de paramètres ini.
Gardez à l'esprit que vous devez avoir error_reporting
activé:
error_reporting
- Définit les erreurs PHP sont signaléesExemple de Manuel:
// Report all PHP errors
error_reporting(-1);
'error_reporting (-1);' n'est pas suffisant? Dois-je aussi 'display_errors' à' on'? – user198729
@ user198729 error_reporting définit simplement ce qui est rapporté, pas s'il est affiché. – Gordon
Utiliser ini_set
(http://ca2.php.net/manual/en/function.ini-set.php)
Plus précisément,
ini_set('display_errors', 'E_ALL');
devrait fonctionner
L'homme, cela fonctionnerait, mais votre code en effet ridicule :) –
@Col. Shrapnel Qu'y a-t-il de si ridicule? – Tarka
error_reporting(-1); //Passing in the value -1 will show every possible error, even when new levels and constants are added in future PHP versions
ini_set('display_errors', 'On');
Doc disponible là:
Une autre façon (si votre serveur prend en charge) est avec un fichier .htaccess:
php_flag display_errors on
php_value error_reporting -1
* (astuce) * Passer la valeur '-1' montrera toutes les erreurs possibles, même lorsque de nouveaux niveaux et constantes seront ajoutés dans les futures versions de PHP. – Gordon
Je suppose que c'est bytewise et -1 est égal à tous les drapeaux élevés? – AlexV
@Gordon Astuce pratique, merci –
configuration d'exécution des rapports d'erreur peut être réglé finement avec un certain nombre de fonctions, énumérées ici: http://www.php.net/manual/en/errorfunc.configuration.php
Mais le plus directement à votre question, l'utilisation error_reporting (E_ALL) et display_errors (1)
En PHP:
error_reporting(E_ALL | E_STRICT);
A partir d'un fichier .htaccess:
php_value error_reporting 6143
6143 est la valeur entière de E_ALL, puisque apache ne comprendra pas « E_ALL »
Si vous avez accès à votre php.ini, je voudrais tout d'abord essayer pour savoir pourquoi vous ne pouvez pas changer de valeurs ici. –
notez que ini_set n'aidera pas avec les erreurs d'analyse. '.htaccess' est une autre option quand elle est disponible –