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

Reply via email to