Bonjour,
Je suis assez surpris de la réaction de mon moteur PHP (v. 5.2.0-8+etch4) face à une simple erreur de type « Warning ».
Plutôt que de m'afficher le début de la page puis l'erreur, PHP m'affiche une page vierge ou bien n'affiche rien du tout et demande au navigateur de me faire télécharger le fichier PHP (vide).
Code :
- <?php
- echo ini_get('error_reporting'); // 6135 (= E_ALL & ~E_NOTICE)
- function test($var) {
- echo '<p>test()</p>';
- }
- echo '<br>vant';
- test(); // il manque volontairement le paramètre
- echo 'apres';
- ?>
|
Si je remplace la ligne 9 test() par test('toto'), le script s'exécute bien et affiche
Le fichier de log contient :
[Thu May 24 17:47:12 2007] [error] [client 192.168.0.10] PHP Warning: Missing argument 1 for test(), called in /www/clients/webcd20/test.php on line 9 and defined in /www/clients/webcd20/test.php on line 4
[Thu May 24 17:47:12 2007] [error] [client 192.168.0.10] PHP Stack trace:
[Thu May 24 17:47:12 2007] [error] [client 192.168.0.10] PHP 1. {main}() /www/clients/webcd20/test.php:0
[Thu May 24 17:47:13 2007] [notice] child pid 13788 exit signal Segmentation fault (11)
|
Question : pourquoi la page reste-t-elle désespérément vide alors que l'erreur est bien journalisée ?
Message édité par nagadoudi le 24-05-2007 à 17:59:58