From: msho at exabytes dot com Operating system: Windows 2003 PHP version: 4.4.2 PHP Bug Type: IIS related Bug description: PHP MEM and CPU resource management
Description: ------------ When adding PHP Engine mapping to IIS with "Verify that file exists" option turned off, IIS will execute PHP engine to serve the requested php file (not matter the file is exist or not exist). PHP loaded with certain amount of memory usage which will be in deep trouble if there is a lot of request to an invalid files via http. To have this issue reproduce: 1. Mapped the PHP engine to IIS with "Verify that file exists" option turned off. 2. Setup a normal php script that query on the webserver for an invalid php file via http infinitely, for example: http://<server_ip>//<invalid_path> 3. Run multiple (more than 100) instances at a time for the same script. The sample script on requesting the script infinitely can be retrieved on the "Reproduce code" section. Reproduce code: --------------- <? while(1) { $request_url = "<enter_the_url_here>"; //eg. http://<server_ip>//<invalid_path> $temp = file($request_url); unset($temp); } ?> Expected result: ---------------- You will see the CPU usage and MEM usage will shoot on the Windows webserver. Actual result: -------------- It will be great if PHP can reduce the CPU and MEM usage when dealing with the invalid file request via http. -- Edit bug report at http://bugs.php.net/?id=37591&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=37591&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=37591&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=37591&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=37591&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=37591&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=37591&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=37591&r=needscript Try newer version: http://bugs.php.net/fix.php?id=37591&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=37591&r=support Expected behavior: http://bugs.php.net/fix.php?id=37591&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=37591&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=37591&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=37591&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37591&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=37591&r=dst IIS Stability: http://bugs.php.net/fix.php?id=37591&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=37591&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=37591&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=37591&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=37591&r=mysqlcfg