Yo uso de búferes de salida para la compresión gzip y el acceso a lo que se puso antes en un script PHP:Cómo determinar si ob_start(); se ha llamado ya
if(!ob_start("ob_gzhandler")) ob_start();
Ahora bien, si esa secuencia de comandos se incluye en otro script, donde ob_start() ya está en uso recibo una advertencia:
advertencia: ob_start() [ref.outcontrol]: gestor de salida 'ob_gzhandler' no se puede usar dos veces en el nombre de archivo en la línea n
Así que me gustaría probar wether ob_start()
ya ha sido llamado. Creo que ob_get_status()
debería ser lo que necesito, pero ¿cuál es la mejor manera de usarlo en las pruebas para esto?
Estaba irritado por el [comentario en el manual] (http://www.php.net/manual/en/function.ob-get-level.php) que dice "A veces, ob_get_level() puede estar apagado por 1 porque al comienzo del script, devolverá 1 incluso si ob_start() nunca se ha llamado ". Entonces, ¿es esta una manera confiable de contar? –
@CO: Probablemente se deba a [output_buffering] (http://php.net/manual/en/outcontrol.configuration.php#ini.output-buffering): "If [output_buffering] (http: // php .net/manual/es/outcontrol.configuration.php # ini.output-buffering) está habilitado o se utilizó una función anónima con 'ob_start()', 'ob_list_handlers()' devolverá "' default output handle''. " – Gumbo