Partner and Community Forums
Windows Cache Extension for PHP
FastCGI Handler error after install
Last post Jan 10, 2010 04:39 AM by don.raman
Dec 30, 2009 08:04 PM|carmichaelc|LINK
Dec 30, 2009 08:14 PM|don.raman|LINK
Couple of question:
Dec 30, 2009 08:16 PM|carmichaelc|LINK
Dec 30, 2009 08:21 PM|don.raman|LINK
Please also ensure that manual package you are downloading for WINCACHE is for PHP 5.2. The link to download PHP 5.2 compatible WINCACHE is
http://go.microsoft.com/?linkid=9697970. Yes you will need to copy the php_wincache.dll in the 'ext' folder and change your PHP.INI.
The link to MSI for PHP (Non thread safe vc6 build) is
http://windows.php.net/downloads/releases/php-5.2.12-nts-Win32-VC6-x86.msi. This is what you should be using to install PHP.
You should be able to run WINCACHE with the above things.
Dec 30, 2009 08:44 PM|carmichaelc|LINK
Dec 30, 2009 08:55 PM|don.raman|LINK
Can you disable WINCACHE and somehow allow me to view the PHPINFO page?
Dec 30, 2009 09:08 PM|don.raman|LINK
Thanks for sharing the PHPINFO. You are having Thread Safe build of PHP installed and that is the reason WINCACHE is not gettting loaded properly. Please uninstall it and install the Non Thread Safe Build from
http://windows.php.net/download/. Pasting the link below too.
Once the NTS build of PHP is installed you can ensure that it is indeed NTS build by viewing your PHPINFO page and look at "Thread Safety" in the top of the table. It should say Disabled and not Enabled. Currently it is saying enabled. So please install
NTS build of PHP and than use WINCACHE. It should work.
Dec 30, 2009 09:58 PM|carmichaelc|LINK
Dec 30, 2009 10:05 PM|don.raman|LINK
Good to see that your PHP is working with WINCACHE. I am able to run my Drupal site using PHP 5.2.12 and WINCACHE smoothly. There might be some other issue with MySQL. How did you install MySQL extension? Does the PHPINFO page shows MySQL?
Dec 30, 2009 10:10 PM|ksingla|LINK
Did you recycle IIS after changing php.ini? FastCGI 1.0 doesn't monitor changes to php.ini and you need to recycle php-cgi.exe processes yourself for php.ini changes to get picked up. FastCGI 1.5 can be configured to recycle php-cgi.exe processes when php.ini
Dec 30, 2009 10:18 PM|carmichaelc|LINK
Dec 30, 2009 10:24 PM|don.raman|LINK
Maybe some dependent DLLs are missing. Please run C:\PHP5\php-cgi.exe -v from command line and see if you are getting any error. You can also check the log file if you have configured PHP to write to one. Somewhere you should get a message saying unable
to load <blah> extension. Please try adding C:\PHP5 as first thing in your PATH environment variable restart IIS and see if this solves the problem. Do you see libmysql.dll inside folder C:\PHP5?
Dec 30, 2009 10:43 PM|carmichaelc|LINK
Dec 30, 2009 10:47 PM|don.raman|LINK
Did you change the PATH environment variable? If yes, probably you will need to restart Windows.
Dec 30, 2009 10:49 PM|carmichaelc|LINK
Dec 30, 2009 10:50 PM|carmichaelc|LINK
Dec 30, 2009 10:55 PM|don.raman|LINK
Again you are using GD, MySQL and MySQLi dll which are compiled for thread safe binaries rather than non thread safe. Please use the DLL which comes with NTS installation and not the thread safe ones. When you installed PHP Non Thread Safe version you should
have got NTS version of above DLLs too. Use that please.
Dec 30, 2009 11:02 PM|carmichaelc|LINK
Jan 08, 2010 07:43 PM|Dave Steenson|LINK
I just finished upgrading to Windows 7 from Vista and upgraded Win 7 home to Pro. This is the four time today that I have wiped out my install of Win 7 in a attempt to get WPI to install PHP, Joomla and the other stuff that goes along with the package.
I have a clean install and this time around have not installed any Mcafee software nor any other software that might kill the install of PHP, Joomla, with everything else that installs with WPI. Everything seems to be good until PHP, Joomla, and Windows Cache
Extension. The Links to PHP and the Extension do not appear to be working from my location. On my Vista machine I support three web sites with no problems with PHP, CGI's, Mysql, IIS 6, 7 and Apache 2.2.
Since it was neat to find the WPI for windows that shows it supports Joomla, I thought that was pretty cool. But after several hours of loading, reloading, deleting, reformatting the hard drive and starting over. It is becoming disappointing that I've spent
good money on what I think is to be a good product and find that I'm not having the same luck as I did with vista.
I not sure your role with Microsoft or the WPI team is, I just keep seeing your post. I have download PHP 5.2.12 from PHP site since WPI links for PHP and the Windows Cache Extension links are not working. Tried to install the PHP but for some reason I can
not get PHP to install.
I don't know if this is a Win 7 pro problem or is there something really wrong with the link or both. Or could Windows firewall keep PHP from working on a Win 7 pro operating system?
Jan 08, 2010 07:47 PM|laurin1|LINK
I have yet to get WPI to install much of anything reliably. Really disappointing.
Jan 08, 2010 08:55 PM|ksingla|LINK
We are sorry for the trouble. PHP and PHP applications install using WebPI was affected because
http://windows.php.net went down for maintenance. Both PHP and wincache were getting downloaded from
http://windows.php.net. We just updated WebPI to pick PHP and wincache installers from sourceforge.net. You should be able to install PHP applications using WebPI now.
Jan 09, 2010 02:33 AM|don.raman|LINK
I hope that you are able to install PHP along with WINCACHE and JOOMLA after the broken link bug was fixed in WPI. Please do let us know in case you are still having problems. We are here to help you out. Regarding my role in Microsoft, I am a Software Design
Engineer in Test responsible for IIS FastCGI/PHP on IIS/WINCACHE. I do partner with WPI team for all of the above mentioned product as well as PHP applications and MySQL.
Let me now explain some of the technical reason behind your frustration apart form the broken link problem. PHP MSI is dependent on a script named fcgiext.js (if the user asks the MSI to configure IIS FastCGI which is a typical scenario). PHP MSI uses this
script on IIS5.1/6.0 to add index.php to the default document section as well as create script mapping for handling .php extension. On IIS7.0+ the same thing is achieved by a command named appcmd.exe. In order to make PHP work properly IIS FastCGI should be
configured properly. IIS FastCGI comes as a seperate download for IIS5.1/6.0 and is builtin within OS for IIS7.0 onwards. But IIS FastCGI is not configures as part of default OS installation. So now you know PHP MSI may fail if these are not configured properly.
Also, all the above steps (adding index.php in default document and configuring script mapping for .php extension) is carried as part of custom action in PHP MSI. I believe there is no good way for failing the MSI if any of the custom action fails. So PHP
MSI is unable to point to you the failure. However these failures will be definitely logged in the MSI log. You can use MSIEXEC to install PHP MSI and pass a parameter where log files can be created From an elevated command prompt you can type 'msiexec.exe
/i <path to MSI> /l <path to log file>. Type 'msiexec.exe /?' for details). You can later visualize the log file for errors. I understand not a great way but at least you will know what went bad rather than being in the dark.
There has been genuine bugs in the PHP MSI where script mapping for .php extension is not done/missed or not done properly. I have filed PHP bug for this at
http://bugs.php.net/bug.php?id=50527. However these bugs are specific to IIS5.1/6.0 and hence for Windows7 PHP MSI should not fail for the reasons mentioned above. Please do let me know in case it fails to
create script mapping on Windows7.
You can also troubleshoot your PHP installation. I have written a blog which gives you step by step approach to do this. The blog can be found at
Hope the explaination helps you in understanding what's going behind to some extent and lessens the pain.
Jan 09, 2010 02:37 AM|don.raman|LINK
I can understand the pain here. And believe me we are trying to fix these things. It would be good if you can let me know any other problem in installing PHP/WINCACHE/FastCGI/MySQL/PHP applications (apart from the one mentioned above in my post) and I will
bring it to everyone's attention in our feature team meeting.
Jan 09, 2010 04:48 AM|Dave Steenson|LINK
What I end up doing was disable Win 7 Pro firewall, disabled the always pain in the neck pop-ups of sure you want to do this task windows :-), then install PHP 18.104.22.168, Mysql, and then used the link from WPI to install the Joomla. I'll have to look and see
if the link to the Wincache is working, as I have not been able to locate the file else where. Even without the Wincache, all three of my web site are up and running. I was a slight bump in the road when trying to install the second and third joomla from the
WPI. Due to having to seach all the directories for the IIS Manager Control panel .exe, installing it to function with Win 7. I think that service from the old control panel should have been left in the new version of Windows.
One thing that I had to work around tonight is the use of JTT fuctions and the use of Apache, and Apache TomCat. Once I added Apache and Tomcat to the mix, Win 7, IIS 7 is just kicking fast. Don't know what is making the difference but FastCgi, PHP, Mysql,
MyPHPadmin, all are running Great!!.. Thanks for getting back to me as fast as you did. Now I'm wishing for luck on using ioncube with IIS 7 and SilverLight. :-)
Ok Thanks again..
Jan 10, 2010 04:39 AM|don.raman|LINK
I am glad to know that you were able to install Joomla from Microsoft Web platform installer. WPI makes PHP application installation really easy and I hope you find that too.
Since you installed Joomla from WPI, WINCACHE should have got added as a dependency and installed too. I think this is the reason you are seeing substantial increase in speed. Please check your extension folder of PHP and see if there is a DLL named php_wincache.dll.
If it is there and you have a line:
in your PHP.INI file, you are running WINCACHE. The other useful files can be found at "C:\Program Files\IIS\Windows Cache for PHP". You will be interested particularly in the file named WINCACHE.PHP which shows you nice statistics with regard to caching.
You can copy this file somewhere under your site's DOCUMENT_ROOT, change the default password and access it in the browser. This will show you live cache statistics.