ID: 44596 Updated by: [EMAIL PROTECTED] Reported By: php at timkoop dot com -Status: Open +Status: Feedback Bug Type: Reproducible crash Operating System: Windows NT WEBSERVER 5.2 build 3 PHP Version: 5.2.5 Assigned To: fb-req-jani New Comment:
For starters, try the snapshot (it's upcoming 5.2.6RC actually): Zip: http://snaps.php.net/win32/php5.3-win32-latest.zip or Installer): http://snaps.php.net/win32/php5.3-win32-installer-latest.msi And make sure you have _all_ 3rd party Zend extensions disabled in your php.ini. For example Zend optimizer, any opcode caches, debugger (like Xdebug), etc. Previous Comments: ------------------------------------------------------------------------ [2008-04-02 19:30:11] php at timkoop dot com I don't have APC installed. I used to have EAccelerator installed, but it isn't now. My php.ini file has no major differences to the one that came with 5.2.5. As to how sure I am, all I know is that when exit() is called in the auto prepended file, PHP crashes in about 485 page requests and when it is not there everything works fine. Thanks so much for looking into this. If there is anything more I can provide, please just say the word. -- Tim ------------------------------------------------------------------------ [2008-04-02 09:29:28] [EMAIL PROTECTED] And you're absolutely 100% sure it's exit() in auto prepended file that causes this? Do you by any chance have APC installed and enabled when this happens? ------------------------------------------------------------------------ [2008-04-01 20:07:14] php at timkoop dot com Description: ------------ When using an auto_prepend file, if you call exit() in this prepended file, it works fine for a while. But after about 400 or 500 or 600 times calling any php page on the website, you receive a simple "No input file specified". And every site in IIS also displays this message on php pages. This page describes why you would want to do this: http://www.ilovejackdaniels.com/php/caching-output-in-php/ Reproduce code: --------------- In php.ini, set an auto_prepend file like this: auto_prepend_file = prepend.php In prepend.php, put something like this: <? echo "<html><body>This comes from prepend.php</body></html>"; exit(); ?> (Actually, this above code might have to be in an included file that was called from prepend.php) Now you have to call any page in the website a few hundred times before the error kicks in. The first few times will appear to work as expected. A small bash script to do this for you might look like this (for your convenience only; not a part of the bug): for ((i=1;i<=1000;i+=1)); do echo $i wget http://yoursite.com/anyfile.php --quiet --output-document=/dev/null done Expected result: ---------------- I would expect the prepended file to produce the following code and the actual called file would not produce anything, so this would be the entire html returned no matter what file you called: <html><body>This comes from prepend.php</body></html> This does actually work the first few hundred times. Actual result: -------------- The expected result is returned (correctly) a few hundred times. Then after that, the following line is returned: No input file specified. After this, IIS must be restarted to get back to normal. I will happily provide a backtrace if needed. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=44596&edit=1