IIS 7 and Above
Vista 64 - IIS 7 - PHP x64
Last post Nov 27, 2009 11:29 PM by petvetbr
Feb 01, 2008 01:39 AM|tdldp|LINK
1rst i'll pass now my anger, once and for all, because i am fed up with iis 7, whose tweaking and developpement is an unstable as possible.
When it was formerly as easy as possible to install php 4/5 on any iis 5 and 6 system, i am struggling since 1 month and new install on a quad core x64 vista business system to make it run under iis 7... Nothing works...
Isapi install of php 32 / php 64 unpossible
fastCgi install of php64 unpossible...
And above all, not one up to date tutorial on the net googling, with up to date installation method (with chance i get vista RC1 install with iis which doesn't correspond with version i use)
Now that anger has passed off, to the facts...
Installed Php 64 branch (unofficial apparently from php.net : Man what are those damn developpers waiting !!!) in C:\PHP, and php.ini in c:\Windows with rights given to iis users.
Followed fastcgi installation method given here on iis.net
Checked type Mime, to add .php text/html
This done, i did a phpinfo(); under short tags, and long tags (tested both) and all i get is a blank page with "<?(php second case) phpinfo(); ?>
Please advice would be welcome..
Feb 01, 2008 05:26 PM|Luciano.cl|LINK
Feb 03, 2008 02:48 PM|wendac|LINK
I haven't installed fastCgi, but it took me 2 days to get PHP running on Vista X64 from bits and peices from different sites. I ended up using system restore so that I could start over clean.
Here's what worked for me:
Installing PHP5 on IIS7 Vista 64
1. install 32 bit PHP with installer (I used php-5.2.5-win32-installer.msi) to c:/PHP (I used this path)
I selected custom install and included the following extensions;
curl, gd2, mysql, mssql, tidy which I needed right away.
Trying to install all the extensions will fail due to other dependencies not available on the machine.
So now PHP is installed with php.ini already configured with the extensions you need.
You can save a back-up php.ini from another insatallation so that you know what you need to configure.
2. I already had mysql installed and had to use the version "mysql-5.0.45-winx64" as the newer version would not run the configuration wizard.
3. Run the Internet Information Services (IIS) Manager
4. Open the Handler Mappings icon from the main IIS Area
5. Click on “Add Script Map…”
5.1 Set up handler mapping for Path:\PHP\php5isapi.dll on *.php files and say "yes" to allow the ISAPI extension.
Make sure the handler permissions allow execution of scripts.
5.2 Go back and select "ISAPI & CGI Restrictions":
Add an [allowed] ISAPI/CGI restriction for Path:\PHP\php5isapi.dll (it should already be there if you you've added the handler mappping first)
and select "Allow path to execute"
Right click the restriction afterwards and select "Edit Feature settings" and check off both of the "allow unspecified modules"
5.3.Go back and click "ISAPI Filters"
Add an ISAPI Filter for php5isapi.dll ( I skipped this and it still works but it might be needed for some extension that I didn't install)
6. Right click on the Application Pool that you want to run PHP on and select “Advanced Settings…”
or select the same from the Actions pane after selecting the Application pool
Change the “Enable 32-bit Applications” to True (if you want the application pool to spawn in a 32-bit mode)
7. Go to My Computer -> Properties -> Advanced -> Environmental Variables ->
Under System Variables, add ";C:\php" (or your path) if not already there to the end of the path
8. Add IniFilePath to the registry (or save this as a .reg file and run):
Windows Registry Editor 5.0
This fix worked so that PHP would load my php.ini from the php folder.
Even when I left it to the default (c:/windows) and copied the .ini file there, PHP still wouldn't load it.
9. Restart your computer.
Feb 11, 2008 07:56 AM|dottored|LINK
I followed your steps exactly and with complete success! Thank you so much for taking the time to document your installation method and for sharing it.
Feb 19, 2008 06:59 PM|tdldp|LINK
Thanks so much for your tuto...
The main problem, is the fact that to make things work u must use php 32 bit version (64bits seems corrupted and in anycase is not an official fork of php.... )
Once installed, with enabling Enable 32 bit applications, solved all problems on system...
One computer is installed... A new post will talk of an error i get in fastCGI install on a second pc.
Aug 26, 2008 04:45 PM|onemanclic|LINK
You are the man. That was a perfect walk through for all of us that are trying to squeeze the most out of our 64bit CPUs :)
Sep 01, 2008 03:14 AM|wendac|LINK
Thank-you. No one was happier than I was when I finally got the installation to work!
By the way, I am the WOMAN.
Oct 03, 2008 02:27 PM|hooflung64|LINK
I installed Win2k8 x64 on my VMware Server 2.0. After I did the updates I got the URL Rewrite Go Live module which has the FastCGI fix.
I then followed http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/
The only deviation I had was using the x64 build of php from http://fusionxlan.com/PHPx64.php
I had no issues getting this to work with FastCGI other than making sure my php.ini file was correctly set. eAccellerator is even working properly. I did notice that when I make multiple websites with IIS they needed to be in the default application pool
or I would get errors.
Nov 27, 2009 11:29 PM|petvetbr|LINK