>"Chris Andrew" <[EMAIL PROTECTED]> wrote in message >[EMAIL PROTECTED]">news:[EMAIL PROTECTED]... >> I use a script which initially sends a friendly message to a browser, and >> then goes about some lengthy processing. The browser is IE and I am aware >of >> the 256 byte issue. >> >> The script worked nicely in php.4.1.1 but since installing 4.2.1, the >flush >> function doesn't do its job. However, it works if I ommit session_start() >?
I can't speak for the differences between 4.1.1 and 4.2.1, but maybe the following information will help you: On my site I have a custom error handler than displays a "friendly" error message screen and emails me an error report. I use output buffering because if an error occurs I don't want this friendly error message screen to be rendered in the middle of whatever else was going on when the error occured...I get the contents of the buffer and then and then call ob_end_clean() to empty it before I display the friendly error message. I noticed that this was not working properly on one section of my site that used sessions. I noticed that if I called session_start() and then an error occured, I got the error message in the middle of the the page, just as if I hadn't cleared the buffer. I then discovered why... I am using trans sid support to perpetuate the session id, and apparently this is implemented internally using an output buffer. Trans sid buffers the page output, then rewrites the hrefs and insert the hidden form values before flushing the buffer to the screen. Apparently you can start multiple buffers, and they are stacked. If you call a buffer function such as ob_end_clean(), it *automatically* operates on the last buffer in the stack...i.e. the buffer that was most recently created. In my case this buffer what the trans sid one, and NOT the one that I started. To make a long story short, I had to end up calling ob_end_clean() TWICE...once to flush the trans sid buffer and once more to flush mine. Maybe something similar is at work with your problem. Try calling the flush function twice back to back and see if that makes any difference... If anyone knows of a way to determine how many output buffers have been started or are currently active please let me know... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php