Gestion des buffers dans une fonction
Bonsoir,
J'essaye de faire un petit script de gestion d'erreur et je suis confronté à une erreur surprenante.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
<?php
//-----------------------------------------
// Auteur : Jérôme
// Email : jijijaco@gmail.com
// Script : Gestion des erreurs
// Date début : 26/12/2005
// Date dernière mise à jour : 26/12/2005
// Version : 0.1 (BETA)
//-----------------------------------------
############################################
// Fonction de gestion des erreurs
############################################
function gerreur ($errno, $errstr, $errfile, $errline) {
$erreur = "Erreur numero $errno detail : '$errstr' dans le fichier $errfile à la ligne $errline<br />";
echo $erreur; // A supprimé
global $_iserror;
$_iserror = true;
ob_end_clean();
echo "Une erreur s'est produite, cette page est actuellement innaccessible";
exit();
}
function gerreurfin () {
global $_iserror;
if (!$_iserror) {
ob_end_flush();
}
}
############################################
// Initialisation
############################################
error_reporting(E_ALL);
set_error_handler("gerreur");
$_iserror = false;
ob_start();
register_shutdown_function("gerreurfin");
?> |
Dans le script, il ne veut pas effectué soit ob_end_flush soit ob_end_clean.
Il me dit que les buffers sont inexistants... Si je met la fonction
ob_end_clean hors d'une fonction ca fonctionne sans probleme...
J'ai consulté la Doc je ne vois aucune note parlant de probleme lorsque ces fonctions sont exécutée dans une fonction...
Si quelqu'un peut m'éclairé sur le sujet, j'en serais ravis.
Merci d'avance.
Cordialement Jerome