I hear a lot about the problem where web server (IIS) throws an error saying that PHP script has timed out in our forums. Let’s try to understand the reason behind this. I will be using a Windows 7 Enterprise machine (having IIS 7.5) to explain this but this should be applicable to Windows 2008/Windows Vista too. The same can be told true for Windows 2003/Windows XP with some difference like IIS stores FastCGI configuration in fcgiext.ini file rather than application meta-base. However the concept should be exactly similar.
Few days back I made some code commit (code check-in) to WINCACHE SVN depot on PECL. I committed the test infrastructure to test WINCACHE. The entire test code can be see inside the folder at http://svn.php.net/viewvc/pecl/wincache/trunk/tests/. Let me explain how it works. In order to make it work first of all the binaries has to be compiled. This is the binary which is responsible for driving the test suite, I call it as a kind of test driver. I have already committed the the Visual Studio solution file which is at location http://svn.php.net/viewvc/pecl/wincache/trunk/tests/driver/test_wincache.sln?view=log. However the solution file is meant for Visual Studio 2008 and may not be compatible with previous versions of Visual Studio. If you are using an old version of Visual Studio you may need to create a new solution/project file (simply chose ‘WIN32 Console Application’ while creating the solution/project file). After creating a new solution just add the C++ source/header files present at http://svn.php.net/viewvc/pecl/wincache/trunk/tests/driver/test_wincache/ to the solution/project. Compile it in Visual Studio and the binaries should be made. This builds one executable which is named ‘test_wincache.exe’. You can either compile Release/Debug build but I always prefer Release build. Here is how you can use the binaries to test WINCACHE.