Je pense que tu n'as pas compris le "but" de tout ça.//error_log($return_error, 3, 'tmp/logs/errors.log'); en commentaires, car je n'ai pas vu de répertoire de log chez moi
Si tu commentes cette ligne, bah... y se passera rien. La variable $return_error sera initialisée et puis rien.
Plutôt que de copier/coller mon exemple (car j'ai bien dit que c'était un exemple hein...), essaye de comprendre ce que fait ce petit bout de script.
error_log est justement la fonction la plus utile ici pour créer le fichier de log. Je t'invite à lire sa doc. (indice: plutôt que de commenter, tu aurais dû changer la destination du fichier.)
Ensuite, PHP a une configuration. En cas d'erreur, il peut effectuer plusieurs choses en même temps et par défaut.
Dans le fichier PHP.ini, tu as par exemple (non-exhaustif) :
Les niveaux d'erreurs que rapportera PHP quand il en rencontre une. Liste ici. Tu peux, par exemple, lui demander que le niveau ERROR ("les grosses erreurs") mais pas WARNING ("les petites erreurs"). Perso, je les affiche toutes et je les corrige si possible !error_reporting = E_ALL | E_STRICT
Affiche ou non l'erreur sur la page htmldisplay_errors = On
Log automatiquement les erreurs dans le fichier php_error.log ou pas (encore faut-il y avoir accès)log_errors = On
Chemin vers le fichier de log de log_errorserror_log = "c:/.../php_error.log"
Et là tu peux mettre tout à off et mettre ton error_handler à toi si c'est ce dont tu as besoin !
Si tu n'as pas accès au PHP.ini sur ton hébergement tu peux modifier à chaque requête certaines configurations grâce à ini_set().
Pour conclure, je pense que tu as ton display_error est activé. Ce qui fait que même si tu log l'erreur, elle sera affichée.
Partager