Hi,
I'm trying to write an extension that(running under php in fcgi mode)
does the equivalent of
-php.ini
auto_prepend_file = start.inc
auto_append_file = end.inc
-start.inc
ob_start()
-end.inc
$len = ob_get_length()
// modify buffer slightly based on length value
// php prints final buffer on script termination
So I thought I merely needed to do the C equivalent of these, in short:
RINIT
php_start_ob_buffer(NULL, 0, 0 TSRMLS_CC);
RSHUTDOWN
zval * outbuf = NULL;
zval outbuflen;
INIT_ZVAL(outbuflen);
if ( php_ob_get_length(&outbuflen TSRMLS_CC) != FAILURE &&
Z_L_VAL(outbuflen) != 0 ) {
ALLOC_INIT_ZVAL(outbuf);
php_ob_get_buffer(outbuf TSRMLS_CC);
// Modify buffer based on len parameter
}
// Done php prints buffer by itself on script return
However no matter what variation on the above I've tried, including
different php_ob_* api calls I can't ever get any buffer length(I do see
script data output). It's like ob_start() was never called.
In php.ini I have
output_buffering = Off
Can someone please point out what I'm missing here? thanks!
Dal Eric Len
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php