Si, en realidad nunca uso las notificaciones de php ^_^
Bueno probé con notificaciones, adicionalmente uso esto para mostrar errores en entorno de producción posiblemente tiene mas de lo que necesita :P
Código PHP:
function reportAllErrors()
{
// quitarle el '^ E_NOTICE' para que muestre las notificaciones
ini_set ('error_reporting', E_ALL ^ E_NOTICE);
ini_set ('display_errors', TRUE);
ini_set ('display_startup_errors', TRUE);
ini_set ('log_errors', TRUE);
ini_set ('track_errors', TRUE);
ini_set ('html_errors', TRUE);
}
revise y el ejemplo 2 y el 3 los dos tienen NOTICE
Código:
Ejemplo 3 - :)
Notice: ob_flush() [ref.outcontrol]: failed to flush buffer. No buffer to flush. in...
el ob_start() produce que el primer mensaje se muestre a los 2 o 4 segundos en vez de inmediatamente, y los dos últimos se muestran juntos, sin embargo si no se incluye en ob_start apesar de los NOTICE funciona como deberia... voy a revisar mas eso voy a incluir lo de los 4096 caracteres para que funcione en todo tipo de casos.
De todas maneras entendí algo, por un lado están las salidas de texto que generan el codigo, luego una capa intermedia que es el buffer y al final lo que llega al browser por eso flush y ob_flush deben ser utilizados junto, uno envia la info del codigo al buffer y el otro del buffer al browser, creo es bastante extranio, ademas para ser una cosa que parece simple tiene 17 funciones?? voy a leer mas pero ya se me acabo el tiempo para seguir investigando mas...
http://www.php.net/manual/en/book.outcontrol.php
tiene que haber una solución limpia que sirva en todos los casos y sin errores