Edit report at https://bugs.php.net/bug.php?id=61541&edit=1
ID: 61541 Updated by: [email protected] Reported by: grzegorz129 at gmail dot com Summary: Segfault using ob_clean/flush* functions in output_callback function Status: Open Type: Bug Package: Reproducible crash Operating System: ANY -PHP Version: 5.3/5.4/5.5-dev +PHP Version: 5.3 Block user comment: N Private report: N New Comment: I thought it worked for old PHPs, but it's not. So it would be OK to raise fatal error. Restored version. I'll just add recursive call error to 5.3. Previous Comments: ------------------------------------------------------------------------ [2012-03-28 19:04:31] grzegorz129 at gmail dot com @mike - nooone like crashes but it should work instead of throwing E_FATAL. This kind of (tricky) code as I know is only way to catch errors which set_error_handler() just can't catch. If you know another way to do this propose, please. ------------------------------------------------------------------------ [2012-03-28 19:01:31] [email protected] Sure, it raises a fatal error, because I don't like crashes. ------------------------------------------------------------------------ [2012-03-28 18:58:14] [email protected] -------- [yohgaki@dev php-src]$ cat t.php <?php ob_start('foo'); function foo() { ob_end_clean(); } ?> ------- This kind of code worked since the output buffer was introduced. i.e. Works from PHP 4.0. It seems PHP5.4+ has newer API, but it just raise fatal error. I was surprised now it's not working, so I'll fix this. ------- [yohgaki@dev php-src]$ php -v PHP 5.4.1RC1-dev (cli) (built: Mar 22 2012 17:06:46) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies [yohgaki@dev php-src]$ php t.php Fatal error: ob_end_clean(): Cannot use output buffering in output buffering display handlers in /home/yohgaki/ext/git/oss/php.net/php-src/t.php on line 3 ------- ------------------------------------------------------------------------ [2012-03-28 18:43:17] [email protected] Why has the PHP version of the report been changed? This code works fine in PHP-5.4+ ------------------------------------------------------------------------ [2012-03-28 18:28:51] [email protected] This should work. Assign to myself. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=61541 -- Edit this bug report at https://bugs.php.net/bug.php?id=61541&edit=1
