Installing PHP 5 on IIS in 5 simple steps

Categories:

Restart and verify

Almost done now. Restart your server so that all the changes we have made are made effective in one swoop. Once your server has restarted create a file called phpinfo.php and place it in one of your websites that you can get access to. Open the file and enter this code;

<?php

phpinfo();

?>

Save the file and then open your web browser and access you phpinfo.php file and you should be presented with a screen detailing your PHP configuration. If this is what happens then you are up and running, if not then something has gone amiss. Feel free to ask me for help in the forums though.

As already stated if you require PHP 4 (for legacy code, etc) then your job is much easier. Just Download the IIS Aid PHP Installer and run through the GUI based installation wizard and everything is setup for you. With PHP now enabled you are on your way to being able to utilize one of the most popular web scripting languages in the world, which is used by thousands of free, and commercial web applications. Be sure to check back on this site in future for some PHP tuning tips and performance comparisons to make sure you are getting the most out of your PHP environment.

Comments

Anonymous's picture

Blank page

When I try test page phpinfo.php I can see only a blank page.
display_errors directive in php.ini is already turned on.
Any help please
Jos

Brashquido's picture

The only way I've ever being

The only way I've ever being able to reproduce the problem where PHP code shows up in the browser is when the PHP tags are missing, not correct, or the short tags directive not being enabled in php.ini in instances where code is using short tags. It seems that you do have you PHP tags there, so I would go back and double check that there are no spaces in the opening or closing tags.

Blank pages are slightly more common, and when doing a simple phpinfo test usually come about because the PHP application mapping has not being setup correctly. I'd suggest going back through the guide from step two and double check all your settings.
----------------
Dominic Ryan
3 x Microsoft IIS MVP, MCSE, MCSA
IIS Aid owner/webmaster

Anonymous's picture

php.log

HI!

This is a great instruction.
Everything is working except some things.
I am using PHP 5.2.4, IIS 5.1, XP Pro SP2.

I hate that, if i change anything in php.ini, i should restart the whole OS, but this is the smallest problem.

I did set up evertything as you sad:
in my php.ini:
display_errors=On
log_errors=On
error_log = "D:\PHP\log\php.log"

with theese settings, if i make an error in a file, the apache server write the php.log.
But not the IIS. My file is there, but when an error occured, that is not writing anything into the file >:(

Vaso

Brashquido's picture

Hi Vaso, You really

Hi Vaso,

You really shouldn't have to restart the OS for changes in php.ini. A restart of IIS should be enough here. As for your PHP log there are a few thing you could possibly check;

1) Have a look at your phpinfo page and make sure the correct path to you log is set.

2) You may need to grant the NTFS write permission to your log file for the IIS user account (IUSR_COMPUTERNAME).

3) Download the filemon utility and set it to monitor your log file which should give you a very good indication on where things are going wrong.

----------------
Dominic Ryan
3 x Microsoft IIS MVP, MCSE, MCSA
IIS Aid owner/webmaster

Anonymous's picture

THANK YOU!!!

I have been trying for days to get php5 installed on IIS5. It felt like a tried everything until I stumbled across this article. I followed the 5 easy steps and "wah lah" it worked. You are awesome. Thank you very much!!!

Anonymous's picture

:D

Yeeeeeeeeeeeeeeees
Finaaly!

Anonymous's picture

Hello there...

I have been tired with the times i have tried installing php 5 and finally i was able to do it easily with your instructions and quite successfully i tested phpinfo() files as well. Thank you for that...but still i hav that problem of opening files as to download when they are being tried to open via an html file... for eg : i want to open a run a php script which is written in a file called result.php and need to run in when the submit button of html page is pressed. but here as it is clicked it tries to download the file rather than running the script. i checked the mapping as u said and in the add filter i tried adding php but it says its not loaded and thats not working fine... what should i do to solve this problem.
please help me...

Brashquido's picture

First, PHP should not be

First, PHP should not be loaded as a filter, it should be loaded as an application mapping. I recommend having a look at the "Set the PHP Application Mapping in IIS" section again. What happens if you access this results.php file directly rather than calling it via your form?
----------------
Dominic Ryan
3 x Microsoft IIS MVP, MCSE, MCSA
IIS Aid owner/webmaster

Anonymous's picture

Http 500 error message for

Http 500 error message for all php pages... i installed in the same way as u said...

Brashquido's picture

500 is an internal server

500 is an internal server error, so there must be something amiss with your PHP environment. Can you check;

1) Make sure there are no spaces in the path in your PHP application mapping.

2) Did you add PHP to your PATH variable

3) Did you create the PHPRC variable?

4) What PECL extensions do you have enabled?

5) Are you able to execute a simple phpinfo page as described in the guide?
----------------
Dominic Ryan
3 x Microsoft IIS MVP, MCSE, MCSA
IIS Aid owner/webmaster