|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2006-04-13 10:29 UTC] tony2001@php.net
[2006-04-13 19:13 UTC] jason at merchant dot to
[2006-06-20 15:14 UTC] tony2001@php.net
[2006-06-28 01:00 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Dec 05 07:00:01 2025 UTC |
Description: ------------ I am using Apache2's mod_ext_filter to modify the output filtering of html and php pages. It works fine on html pages. On php pages with to many calls to eval(), the filter will cause it to hang until the script times out. Within the 30 second timeout my filter was only able to return the first line unmodified. Reproduce code: --------------- //******** httpd.conf directives *************/ ExtFilterDefine myfilter mode=output intype=text/html cmd="C:/php/php.exe C:/myfilter.php" SetOutputFilter myfilter ///////////////////////////////////////////////////// //*** C:/myfilter.php(The filter called by php.exe) **/ <?php $fp = fopen("php://stdin", "r"); while (!feof($fp)) { echo fgets($fp); } fclose($fp); ?> ///////////////////////////////////////////////////// //******** the php page that will be filtered *******/ // This script was copied from a previous bug report with a similar issue in php3 here: http://bugs.php.net/bug.php?id=3744 <?php $b = ""; for ($i = 1; $i < 10000; $i++) $b .= "b"; echo "b: $b\n"; for ($i = 1; $i < 10000; $i++) { echo "i: $i\n"; flush(); eval("\$a = '$b';"); } ?> ///////////////////////////////////////////////////// Expected result: ---------------- when run with the filter turned off I get the expected echoed information. Actual result: -------------- The script hangs until it reaches the maximum execution time.