Comportement étrange d'un Warning avec json_encode()
En considérant le code suivant dans lequel vous pourrez remplacer 'chemin_de_votre_fichier_de_log' par un chemin de fichier valide :
Code:
1 2 3 4 5 6 7 8 9 10
| <?php
error_reporting(-1);
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', 'chemin_de_votre_fichier_de_log');
$data = chr(233);
$json = json_encode($data);
?> |
Ce code doit normalement générer un Warning car $data n'est pas une séquence UTF-8 valide et que json_encode() n'accepte que de l'UTF-8.
Pourtant ce Warning n'apparaît dans le fichier de log que si on met 'display_errors' à 0 et n'apparaît jamais à l'écran que 'display_errors' soit à 0 ou 1.
Si quelqu'un trouve du sens à tout ça j'aimerais bien qu'on m'explique. :D
Si vous n'avez pas ce problème chez vous ça m'intéresse aussi.
J'utilise WampServer 2.2, PHP 5.3.10 sur Windows 7 SP1 64 bits.
Merci.