2010-08-30 20 views

Répondre

3

Set rapports d'erreurs à E_ALL et veiller à ce que display_errors dans php.ini est activée.

php.ini

display_errors = On 

code PHP

// If you cannot access the php.ini file 
// you can do this within your PHP code instead 
@ini_set('display_errors' '1'); 
error_reporting(E_ALL); 

Le réglage par défaut que vous avez maintenant exclut probablement les avis, le genre d'erreurs PHP soulève des variables non initialisées, ce qui pourrait être quelque chose comme ceci:

error_reporting(E_ALL & ~E_NOTICE); 
+0

Bonjour BoltClock, Où est le meilleur endroit que je mets le réglage? J'ai un constant.php qui est inclus par presque tous les scripts PHP. Est-ce une bonne méthode pour insérer le paramètre dans ce fichier include? merci – q0987

+0

Vous pouvez le placer dans un fichier de configuration ou un fichier de constantes dont vous savez qu'il sera inclus dans tous vos scripts. – BoltClock

1

oui, utilisez error_reporting() et mettez à E_ALL, comme ceci:

error_reporting(E_ALL); 
1

Définir le rapport d'erreurs pour signaler toutes les erreurs. Soit dans php.ini ou à l'exécution en utilisant error_reporting(E_ALL)

1

il signale déjà une erreur. quelque chose comme ceci:

"Notice: Undefined variable: a in C:\wamp\www\testcenter\index.PHP on line 40" 

peut-être que vous n'êtes pas allé assez spécifique. mais vous devriez essayer error_reporting(-1); comme si impose le php pour montrer quelques recomendations. une partie du manuel de php sur les erreurs E_STRICT:

Activez PHP pour suggérer des modifications à votre code qui assureront la meilleure interopérabilité et la compatibilité ascendante de votre code.

n'oubliez pas que error_reporting(-1); montre plus d'erreurs que error_reporting(E_ALL); parce E_STRICT erreurs ne sont pas inclus dans la contrainte E_ALL.

2

Dans un environnement de développement, je préfère utiliser error_reporting(-1). Quels rapports toutes les erreurs PHP.

+0

+1 Pour le bénéfice du doute, cela équivaut à 'error_reporting (E_ALL | E_STRICT)' comme 'E_ALL' en lui-même * n'inclut pas' E_STRICT'. – BoltClock