Estoy usando PHP 5.3.4 con Apache 2.2.17 en un sistema Windows 7 x64. Me gustaría que mi página PHP salga como resultado de una llamada system
en tiempo real al navegador del usuario. Con ese fin, he configurado output_buffering=Off
en php.ini y ha creado este código:salida del proceso de impresión en tiempo real
<?php
ob_implicit_flush(true);
ob_end_flush();
system('ping -n 10 www.google.com');
?>
El resultado de la mesa de ping se imprime en tiempo real, sino también recibo un error de diagnóstico y pila de llamadas PHP en la parte superior de mi página que dice:
Notice: ob_end_flush() [ref.outcontrol]: failed to delete and flush buffer. No buffer to delete or flush in index.php on line 3
¿Qué debo hacer para corregir o suprimir este error?
actualización Si cambio ob_end_flush()
a $a = 1/0;
me sale un error similar y la salida es en tiempo real en todos los navegadores. ¿Hay algo en la forma en que se imprime la excepción que hace que esto funcione?
Quitar 'ob_end_flush();' – Grexis
Si lo quito o suprimir con un @, la salida ya no es en tiempo real en Chrome 16 o Firefox 10. (Aunque funciona en IE9) – PaulH
Eso es extraño, pero vea mi respuesta a continuación. – Grexis