Pas de message d'erreur

Mazarini
Invité n'ayant pas de compte PHPfrance

27 oct. 2010, 18:38

Bonjour,

J'ai un code de test :

<?php
error_reporting(E_ALL);
$a = 0;
$b = $c;
$b = 1;
echo $b/$a;
?>

Je m'attendais à avoir une notice d'utilisation d'une variable non défini et une fatal de division par 0.
Hors rien ne se passe...
De manière général, pas de message pour un include de mauvais fichier ou d'appel d'une fonction qui n'existe pas ce qui est genant pour debugger.
J'utilise PHP 5.3.3 sur Ubuntu 10.10

ViPHP
ViPHP | 5462 Messages

27 oct. 2010, 19:05

c'est E_ALL | E_STRICT pour le mode max, sinon
error_reporting(-1);

Iostack
Invité n'ayant pas de compte PHPfrance

27 oct. 2010, 20:41

dans ton fichier php.ini


display_errors = On

Mazarini
Invité n'ayant pas de compte PHPfrance

27 oct. 2010, 20:47

Bonjour,

En fait, il s'agit d'un problème de paramétrage dans php.ini :

display_errors = On (afficher les erreur)
html_errors = On (mettre les erreurs au format html)

Les 2 étaient à off suite à l'installation, merci Iostack.

ViPHP
ViPHP | 2577 Messages

28 oct. 2010, 14:26

Bonjour,

Pour info, sur Ubuntu 10.10 il y a 2 fichiers php.ini. Le premier dans le répertoire /etc/php5/apache2 pour le comportement avec apache et le second /etc/php5/cli pour l'utilisation en ligne de commande.

Mettre "display_errors = Off" est conseillé pour un serveur de production (donner moins d'info en cas de plantage ?) mais un fichier log reste disponible (ou ?). Mettre "display_errors = On" reste nécessaire pour le développement si comme moi vous n'êtes pas parfait.

ViPHP
ViPHP | 3607 Messages

29 oct. 2010, 10:05

Le fichier de log d'erreur
peut-être paramétré via les lignes:

Code : Tout sélectionner

log_errors = On error_log = /path/to/file.log
Attention selon la configuration il faudra peut-être ajuster les droits sur le fichier file.log