Re: RC3, ob + chunked stuff
| From: | Zeev Suraski | Date: | Wed, 28 Mar 2001 18:32:04 +0000 |
| Subject: | Re: RC3, ob + chunked stuff | ||
| References: | 1 | Groups: | php.qa |
| Request: | Send a blank email to php-qa+get-2669@lists.php.net to get a copy of this message | ||
The problem here is from the fact that internal functions aren't very forgiving if you send them a different number of arguments from what they expect. Since now, output handling functions are sent 2 arguments (the buffer and the mode), functions like strlen() which expect just one argument will complain. As I mentioned long ago, the output handling function must not generate output, or bad things happen (usually, a stack overflow, which would appear to you as a standard crash). Note that this does not apply to user-defined functions, since they don't complain if they got more arguments than they expected.
The '1' problem is probably an off-by-one issue; Probably not important enough to fix for 4.0.5.
Zeev
At 20:14 28/3/2001, André Langhorst wrote:
using latest CVS and RC3 this still does not work on win32 (apachemod):-- Zeev Suraski <zeev@zend.com> CTO & co-founder, Zend Technologies Ltd. http://www.zend.com/1) Using ob_start([internal_function]) eg. strlen(),nl2br()etc. yield in no-output, while using a simple user-land wrapper works.crashob_start('foo',1); echo str_repeat('test',5500); ob_end_flush();hangsob_start('strlen',1024); echo str_repeat('test',5500); ob_end_flush();crashob_start('strlen'); echo str_repeat('test',5500); ob_end_flush();no output *** zeev, how do I check if output really has been processed/sent chunked? andré --· André Langhorst t: +49 331 5811560 · · andre@php.net m: +49 173 9558736 ·* PHP Quality Assurance http://qa.php.net *