Learn how to create a Windows Vista powered web server running IIS7, MySQL, and PHP.
Introduction
This guide shows you how to create a Windows Vista powered web server using IIS7, MySQL, and PHP (WIMP). I know, I know, a WIMP server doesn’t sound too appealing. Trust me, this server is far from a wimp and will blow your socks off if you provide the right hardware.
Note: This is a generic WIMP server that’s capable of running WordPress, PHPbb, and other popular PHP and MySQL powered web sites. You might have to change a few things to get your WIMP server running just right depending on your usage.
The Limitations
Before you go too far you need to know that IIS7 running on Windows Vista is full featured with a few limitations.
Before you right this type of server off because it’s limited you need to realize if you ever reach one of the limitations you’ll have so much traffic you could probably buy an actual server with one day’s pay from the web site.
The Limitations
- Request Execution Limit: IIS7 running on Windows Vista Basic, Starter, Home, and Home Premium have a Request Execution Limit of 3. Vista Ultimate is limited to 10. Request Execution Limit is how many simultaneous pages the web server can give out at one time. That means Vista Basic, Starter, and Home editions can serve up to 259,200 pages per day and Ultimate can serve up to 864,000 pages per day!
- FTP: FTP is very limited. You can only download files as anonymous. No uploading via FTP to your web server. If this is a problem, check out the FileZilla FTP Server.
Install IIS7
First thing first, we need to install a web server.
- Open the Control Panel in classic view.
- Double-click Programs and Features.
- Click Turn Windows features on or off on the left.
- Check off Internet Information Services.
- Expand Internet Information Services, World Wide Web Services, Application Development Features, and then check off ISAPI Extensions. ISAPI will be needed later when we install PHP.
- Click OK to install IIS7.
- When the Windows Features box disappears IIS7 is installed and should be running. Test IIS7 by going to http://localhost in your web browser. You should see an IIS7 test page like the screenshot below.
The root of the default web site is located at C:\inetpub\wwwroot. Your web site goes there.
Install PHP
Now that we have a web server we need support for PHP. In this example I’m installing PHP 5.2.4.
- Create a folder called php in the root of the C: drive.
- Download the Windows Binaries Zip package from http://www.php.net/downloads.php.
- Extract the files and save them in the php folder you just created.
- Copy C:\php\php.ini-dist and save it on your desktop so we can work with it.
- Rename php.ini-dist you just copied on your desktop to php.ini.
- Right-click php.ini and select Edit.
- Search for extension=php_mysql.dll and uncomment it by deleting the ; in front of it. This allows php to login a MySQL database.
- Now move up in the php.ini code and look for extension_dir = “./”. Change “./” to “C:\php\ext”. This shows php where to load the extension=php_mysql.dll extension you just uncommented.
- Save php.ini.
- Copy php.ini and save it in C:\Windows.
- Open the IIS Manager by typing IIS Manager in the Start Menu’s search box and click Internet Information Services (IIS) Manager in the search results.
- Double-click Handler Mappings.
- Click Add Script Map located on the right.
- Fill out the Add Script Map window like the screen shot below.
- Click OK to save the changes.
- Click Yes in the window that asks you if you want to enable this ISAPI extension.
- Click the back button in the IIS Manager and then double-click Default Document.
- Type index.php, with a space behind , in the File names list.
- Click Apply on the top right of IIS Manager.
- Now you need to copy libmysql.dll from C:\php and save it in C:\WINDOWS\System32. Thanks for the fix Oruba.
Lets test to make sure php is installed and running correctly.
- Open notepad.
- Type < ? phpInfo() ?> in the blank document.
Note: Remove the space between < ? in < ? phoInfo() ?>. I had to add the space so the command doesn’t execute on this page.
- Save it as test.php on your desktop and then move it to C:\inetpub\wwwroot.
Note: A common mistake when saving test.php is to save it as test.php.txt. Don’t forget to select All files under Save as type and then name the file test.php in notepad.
- Go to http://localhost/test.php. You should get a php information page similar to the screen shot below.
Install MySQL
Before we can install MySQL we need to disable UAC in Windows Vista.
- Open the Control Panel in classic view.
- Click User Accounts.
- Click Turn User Account Control on or off.
- Uncheck Use User Account Control and then click OK.
- Restart your computer.
Note: You can turn UAC back on after everything has been installed and working.
Now we can install MySQL. In this example I’m going to install MySQL Community Edition 5.0.45.
- Download the Windows ZIP/setup.exe version http://dev.mysql.com/downloads/mysql/5.0.html#win32.
- Unzip it and save setup.exe on your desktop.
- Run Setup.exe.
- The welcome window will popup. Click Next.
- Since this is a general guide on creating a WIMP server leave Typical selected and click Next.
- Let MySQL install in its default directory by simply clicking Install in this window.
- Click Next to move through a few advertisements.
- Leave Configure the MySQL Server now checked and click Finished.
Note: It seems some versions other than 5.0.45 of MySQL silently errors out during installation. I’m not sure if this is a bug or not but Dustin has provided a great fix in the comments.
- Click Next at the welcome window.
- I’m assuming that you don’t need to configure any advanced MySQL settings. If you did you probably wouldn’t need this guide or you should leave this job to an expert. Select Standard Configuration and then click Next.
- Leave Install As Windows Service, the service name MySQL, and Launch MySQL Automatically checked and click Next.
- Type the MySQL administrator (root) password twice and then click Next.
- This part is VERY important. Hold your mouth just right, cross your fingers and click Execute to configure MySQL. If you did it just right you should get 4 check marks when it’s done.
Note: If you get a Connection Error, click Retry and it should work. This is caused by a slower computer not starting the MySQL service fast enough.
- Click Finished.
Now that you have MySQL installed and running lets install the GUI Tools to make managing databases easy.
- Download the GUI Tools (Windows x86) at http://dev.mysql.com/downloads/gui-tools/5.0.html.
- Install it just like any other software.
- Click Start, All Programs, MySQL, MySQL Administrator.
- Fill in the fields just like the screen shot below.
Remember: Root’s password is the one you set when you installed MySQL.
- Once MySQL Administrator is open, you can create a new database by clicking Catalogs and then right-clicking under test and select Create Schema.
- Give it a name and there you go!
Open Port 80
Now that you have a working WIMP lets open it up to the world. All internet (HTTP) traffic passes through port 80. Let’s open port 80 to the world.
- Search for firewall in the search box in the Start Menu and click Windows Firewall in the search results.
- Click the Exceptions tab in the Windows Firewall Settings window.
- Click the Add port button.
- Type HTTP as the name and 80 as the port number.
Adjust Vista for Web Server Performance
Because Windows Vista is not meant to be a server out of the box its priorities are backwards when it’s being used as a web server. Windows Vista prioritizes programs like Word before background services like IIS7 to give the end user the best experience possible. Since we’re configuring Windows Vista as a web server background services need to be Vistas priority instead of programs.
Let’s set Windows Vista’s services as a higher priority than programs to squeeze the most speed out of it as we can.
- Right-click Computer in the Start Menu and then select Properties.
- Click Advanced system settings.
- Click Settings under Performance in the Advanced tab of the System Properties window.
- Click the Advanced tab in the Performance Options window.
- Select Background services.
- Click OK and then restart your computer.
Hardware
A web server with low to modest traffic doesn’t have to be a powerful machine to get the job done. Any modern PC with at least 1GBs of RAM (2GBs recommended for MySQL) will do fine. If you become one of the fortunate ones who receives enough traffic to need a high performance web server here are a few hardware tips.
- Memory: If you’re expecting any kind of modest traffic (many thousands of hits per day) memory is very important. 2GBs is a good start but 3 or 4 are better.
- IIS7: A powerful processor(s) and a good amount of memory are important.
- MySQL: A fast hard drive and lots of memory are important for a MySQL database.

By Adrian on October 10th, 2007 at 8:17 am #
Thankyou for an excellent guide!!
It has been invaluable in setting up PHP and MySql on Vista
Keep up the good work, cheers!
By Travis on November 1st, 2007 at 7:03 pm #
Thanks for a great guide!!! Works great.
To enable php on vista 64-bit. You have to Enable 32-bit applications.
In IIs 7.0 click on: Application Pools->right click DefaultAppPool-> Advance Properties->Enable 32-bit application change it to true-< ok.
By emu on November 11th, 2007 at 1:43 am #
this is great… thx heaps
By Homer Russell on November 22nd, 2007 at 1:38 am #
I did it just as you said, it worked perfectly. Very informative, easy to follow. Thank you!
By Robert Watson on December 3rd, 2007 at 6:43 am #
Very good installation guide - although I couldn’t read the screenshots.
Well Done!!
By Brent Trahan on December 3rd, 2007 at 6:59 am #
Just click them to see their full size.
By Alex on December 9th, 2007 at 8:57 pm #
Excellent guide! Thank you very much. Kudos to the author.
By Rod Gibson on December 13th, 2007 at 6:50 am #
Excellent tutorial! I have one concern though. I also work with asp scripts. Will they still run though php is priority? or how do I go about it? I haven’t yet tried.
Cheers mate.
By Brent Trahan on December 13th, 2007 at 7:07 am #
I’m not sure. I think you have to configure asp support for it to work.
By saimatkong on December 18th, 2007 at 5:12 am #
I have followed the guide and it can run php but it can’t run mysql. any clue?
Your PHP installation appears to be missing the MySQL which is required for WordPress.
By Brent Trahan on December 18th, 2007 at 9:46 am #
Look at step 7 and 20 under Install PHP. These might be the cause of that error if it’s not done correctly.
By saimatkong on December 18th, 2007 at 11:55 am #
I followed the guide exactly the same.
By Sean Squires on December 19th, 2007 at 1:49 pm #
After I run mySQL setup the ad and configuration windows are 1.5 x 1 inches. I could click the next buttons on the ads, but I can’t see anything except the gear picture on the configuration window. Right clicking only allows me to move or close the window and I cannot drag the sides or corners.
Sorry if this is a support question. I am also trying to look at the forums.
By Sean Squires on December 19th, 2007 at 2:27 pm #
Never mind. I closed the offending window and restarted the configuration window from the start menu. It worked fine and everything went without a hitch after I opened up the port for mySQL.
Thanks for the tutorial.
By Vivek G on December 24th, 2007 at 5:37 pm #
reallly useful, after updating “handler mapping” for default web site also, it is working fine.
By jim on December 27th, 2007 at 5:18 am #
Why do I have to open the port 80? is this safe?
By Brent Trahan on December 27th, 2007 at 8:23 am #
When people go to http://www.maximumpcguides.com they’re really going to http://www.maximumpcguides.com:80. Port 80 is the default port used for http (web) traffic.
If you want people to be able to view a website on your web server you have to open port 80. There’s always a possibility for intrusion when opening a port, but opening port 80 should be safe.
By JIM on January 6th, 2008 at 4:49 am #
hi, i did your instruction here and php works fine but I can’t connect to mysql. This is the line I use to test my connection:
$conn = mysql_connect (”localhost”, “root”, “DOBIE”)
or die(”Unable to connect to MySQL”);
echo “Connected to MySQL”;
AFTER typing this it’s giving an error 404.0
By JIM on January 6th, 2008 at 5:04 am #
i also try line 7 and 20
By Brent Trahan on January 6th, 2008 at 8:13 am #
Sorry, but I don’t know much about PHP.
By robert on January 28th, 2008 at 9:10 am #
hi am up to the part test php and i tested it and am get this err Server Error in Application “Default Web Site”
——————————————————————————–
HTTP Error 404.0 - Not Found
Description: The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Error Code: 0×80070002
Notification: MapRequestHandler
Module: IIS Web Core
Requested URL: http://localhost:80/test.php.
Physical Path: C:\inetpub\wwwroot\test.php.
Logon User: Anonymous
Logon Method: Anonymous
Handler: StaticFile
Most likely causes:
The directory or file specified does not exist on the Web server.
The URL contains a typographical error.
A custom filter or module, such as URLScan, restricts access to the file.
What you can try:
Create the content on the Web server.
Review the browser URL.
Create a tracing rule to track failed requests for this HTTP status code and see which module is calling SetStatus. For more information about creating a tracing rule for failed requests, click here.
More Information… This error means that the file or directory does not exist on the server. Create the file or directory and try the request again.
i have done every think write up to ya what you have sade can you help me with this part thanks
By Brent Trahan on January 28th, 2008 at 9:24 am #
Make sure test.php is not really test.php.txt.
Check out this guide on changing and viewing file extensions.
http://www.maximumpcguides.com/how-to-change-a-file-extension/
By robert on January 30th, 2008 at 4:28 am #
hi thanks for that . hi can i run it on Staticn ip adds or as it got be fix adds ? my ip adds is a Static ip thanks for you help thanks
By robert on January 30th, 2008 at 4:52 am #
sorry my ip is not fix .do i need a fix ip to run this progam thanks for your help
By Michael on February 4th, 2008 at 3:40 pm #
i cant get past #8 on Install MYSQL after i hit finished no window opens. what am i doing wrong?
By Brent Trahan on February 4th, 2008 at 3:53 pm #
Did you disable UAC and restart your computer?
By Michael on February 4th, 2008 at 4:37 pm #
yes i did
By gary on February 6th, 2008 at 12:49 pm #
Hi,
I have installed php5 and am trying to setup the mappings as directed. However, when I get to the stage of clicking on ‘yes’ when asking “Would you like to enable this ISAPI exytension? If yes…….” I keep getting the message “One or more of the modules specified does not exist in the modules list. If you are trying to add a script map the IsapiModule or Cgimodule is not present in the modules list”. Help!!!!! I’m completely lost here :-)
cheers
Gary
By gary on February 6th, 2008 at 2:24 pm #
Hi again……mamanged to sort out the above, but I am now getting the message when testing ‘index.php’ as:
Server Error in Application “Default Web Site”
HTTP Error 404.3 - Not Found
Description: The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and is not allowed.
Error Code: 0×80070032
Notification: ExecuteRequestHandler
Module: StaticFileModule
Requested URL: http://localhost:80/index.php
Physical Path: C:\inetpub\wwwroot\index.php
Logon User: Anonymous
Logon Method: Anonymous
Handler: StaticFile
ANYONE GOT ANY IDEAS??????
cheers
By Brent Trahan on February 6th, 2008 at 2:32 pm #
Look at steps 17-19 in the installing PHP section.
By testing on February 10th, 2008 at 10:02 pm #
i follow this guide it was great
only question is how to i start a simple chat room from this config
thank you
By Jesper on February 11th, 2008 at 6:42 pm #
I tryed use phpmyadmin to control mysql.. But i got some problems with sessions.. So i was reading alittle about it and found out that i had to enable “session.auto_start = 1″ but now im getting some write errors
Warning: session_write_close() [function.session-write-close]: open(C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp\\sess_b01be5fcd813f99b326c5be28c652beb, O_RDWR) failed: Permission denied (13) in C:\inetpub\wwwroot\phpmyadmin\libraries\session.inc.php on line 24
Warning: session_write_close() [function.session-write-close]: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in C:\inetpub\wwwroot\phpmyadmin\libraries\session.inc.php on line 24
Warning: Cannot modify header information - headers already sent by (output started at C:\inetpub\wwwroot\phpmyadmin\libraries\session.inc.php:24) in C:\inetpub\wwwroot\phpmyadmin\libraries\session.inc.php on line 93
Warning: Cannot modify header information - headers already sent by (output started at C:\inetpub\wwwroot\phpmyadmin\libraries\session.inc.php:24) in C:\inetpub\wwwroot\phpmyadmin\libraries\core.lib.php on line 249
Warning: Unknown: open(C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp\\sess_b01be5fcd813f99b326c5be28c652beb, O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0
maybe some one can tell me what i need to turn on and what i need to chance so my session will work perfekt. :) I have followed the guide totally and install php on C:/php
By PerS on February 14th, 2008 at 6:29 am #
Have you considered using FastCGI to host PHP on IIS7 ?:
http://www.iis.net/articles/view.aspx/IIS7/Hosting-Web-Applications/PHP/Using-FastCGI-to-host-PHP-applications-on-IIS7
By PerS on February 14th, 2008 at 7:05 am #
Sorry, wrong article. You should use this one: http://www.iis.net/articles/view.aspx/IIS7/Hosting-Web-Applications/PHP/Installing-PHP-on-Windows-Vista-with-FastCGI-Techn
Also note, on Vista SP1, FastCGI for PHP is include
By Brent Trahan on February 14th, 2008 at 7:34 am #
Thanks for the tip PerS.
By robert on February 16th, 2008 at 7:04 am #
hi i have done every think write up to mysql but iwhen i installs mysql the part Leave Configure the MySQL Server now checked and click Finished. it installs that part.but the next at the welcome window. dos not show its self .when i run the wizard it tells me the appplication has failed to start because its side-by-side configuration is incorrect if any one can help with this thanks
By HSchmirPo on February 24th, 2008 at 9:19 am #
Hi!
I got the same ’side-by-side configuration error’ as robert stated before.
Thanks for your php-guide, very usefull. I only need help for the MySQL installation.
By HSchmirPo on February 24th, 2008 at 10:47 am #
Hi!
Solved this ’side-by-side configuration error’.
http://forums.mysql.com/read.php?11,195569,195569#msg-195569
-edit Brent
By Brent Trahan on February 24th, 2008 at 11:01 am #
Thanks for the tip HSchmirPo.
By Dustin on February 25th, 2008 at 3:02 am #
This worked Great!!
However, on Step 8 in Install MySQL The Configuration Does not Start after clicking Finish. The Program silently errors out.
Even with UAC Disabled I was unable to complete the Setup MySQL configuration
When running directly from the file (C:\Program Files\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe). An Error Occurs saying:
“The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail.”
There is a line in the Configuration that can be changed to fix this problem!
HERE ARE THE STEPS!
1. You will need a program to access and edit the files coding. The program is called Resource Hacker - Get it Here:
http://www.angusj.com/resourcehacker/
2. Start Resource Hacker Select File > Open and Navigate to this file C:\Program Files\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe
3. On the right hand-side of the screen where the file tree is expand 24 > 1 > 1033
4. Locate where it says:
This should be the 6th line!
5. This is not the correct Privilege Name The Proper Name for the Privilege is requireAdministrator Please Change the line to:
6. Select Open > Save and then exit Resource Hacker
7. You will notice there will be 2 MySQLInstanceConfig Files but One will say Original at the end (MySQLInstanceConfig_original).
Double Click the File that Does not say Original (MySQLInstanceConfig) Then Continue with the rest of the Installation!!
Hope this helps some of you!!
By Brent Trahan on February 25th, 2008 at 7:45 am #
Hopefully MySQL will fix this in the next release.
Thanks for that info Dustin. What version of MySQL are you guys having trouble with?
By HSchmirPo on February 25th, 2008 at 2:10 pm #
Hi Brent!
I installed MySqQL 5.0.51a (got it from a server here in Germany)
Seems to be an Manifest-Resource-Problem for Vista in this Version. It does not appear in V.5.0.45 (http://bugs.mysql.com/bug.php?id=34340)
By Dustin on February 26th, 2008 at 6:44 am #
Hi Brent,
I am using MySQL 5.0.51a!
Everything is Ok Now. Also it might be a good Idea for everyone to know that in order to use the Migration Tool for MySQL, you will need to make sure you have at least Java Runtime Environment 5.0 Update 8. I installed JDK Update 4 and All is Good!!
By robert on February 26th, 2008 at 10:10 am #
hi thanks for that hi i have put my website in wwwroot and it works fine can i had any more website to wwwroot ? or is it just one website i can have in wwwroot am new to this i would like to make more and host them my self in my wwwroot can i do that if you can help me on how to add more websites thanks if i put another website in wwwroot it only lets me see the files thanks for you help
By Hasan sabbah on February 26th, 2008 at 4:41 pm #
Excellent . reshack i very orijinal for mysql installation on vista rc1.
Thankss
By Raúl C. Nieto on February 28th, 2008 at 8:00 pm #
Excellent Guide like we say here in Mexico “Más claro ni el agua” = “More clear than water”
Thanks
By Seng Kung Kea on February 28th, 2008 at 10:52 pm #
Dear support,
can you help me please?
because when i stat run index.php file, it appears like this:
“echo phpinfo()”
Thanks,
Kung Kea
By Brent Trahan on February 29th, 2008 at 2:57 am #
Don’t forget to remove the space between < ? in < ? phpInfo() ?>. I had to add the space so that the command doesn’t run on this page.
If that doesn’t work, check and make sure PHP is installed correctly and running.
By Seng Kung Kea on March 1st, 2008 at 2:18 am #
Ok….I’ll check it again.
Thanks,
Kung Kea
By Anthony on March 5th, 2008 at 11:37 pm #
Great info…. I am not a total techie and your information (including the mysql hack) worked like a charm!
I asume i place all my sites in the wwwroot dir? can I add frontpage extentions?
By Rai on March 7th, 2008 at 3:21 am #
Hello,
I really like your instructions. It seems very understandable and easy to follow. But I’m a beginner at this so I hope you will be able to help me.
I followed the instructions until step #11 of Install PHP. But when I tried to access http://localhost, it did not load anything. Only a blank white page. And I don’t know if it means anything, but when I went to the Administrative Tools in Control Panel, my IIS Manager was gone.
Help, please?
By Rai on March 7th, 2008 at 4:52 am #
Hi,
sorry, i figured it out. :D
By Michael on March 8th, 2008 at 2:50 am #
Hi, I am experiencing an error similar to Gary’s above:
I went through all of the steps carefully, and insured that I configured php properly in iis7 Could there by another reason for this? Any help is greatly appreciated.
Server Error in Application “Default Web Site”
HTTP Error 404.3 - Not Found
Description: The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and is not allowed.
Error Code: 0×80070032
Notification: ExecuteRequestHandler
Module: StaticFileModule
Requested URL: http://localhost:80/test.php
Physical Path: C:\inetpub\wwwroot\test.php
Logon User: Anonymous
Logon Method: Anonymous
Handler: StaticFile
Most likely causes:
* It is possible that a handler mapping is missing. By default, the static file handler processes all content.
* The feature you are trying to use may not be installed.
* The appropriate MIME map is not enabled for the Web site or application. (Warning: Do not create a MIME map for content that users should not download, such as .ASPX pages or .config files.)
What you can try:
* In system.webServer/handlers:
* Ensure that the expected handler for the current page is mapped.
* Pay careful attention to preconditions (e.g. runtimeVersion, pipelineMode, bitness) and compare them to the settings for your application pool.
* Pay careful attention to typographical errors in the expected handler line.
* Please verify that the feature you are trying to use is installed.
* Verify that the MIME map is enabled or add the MIME map for the Web site using the command-line tool appcmd.exe.
1. Open a command prompt and change directory to %windir%\system32\inetsrv.
2. To set a MIME type, use the following syntax: appcmd set config /section:staticContent /+[fileExtension='string',mimeType='string']
3. The variable fileExtension string is the file name extension and the variable mimeType string is the file type description.
4. For example, to add a MIME map for a file which has the extension “.xyz”, type the following at the command prompt, and then press Enter:
5. appcmd set config /section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']
Warning: Ensure that this MIME mapping is needed for your Web server before adding it to the list. Configuration files such as .CONFIG or dynamic scripting pages such as .ASP or .ASPX, should not be downloaded directly and should always be processed through a handler. Other files such as database files or those used to store configuration, like .XML or .MDF, are sometimes used to store configuration information. Determine if clients can download these file types before enabling them.
* Create a tracing rule to track failed requests for this HTTP status code. For more information about creating a tracing rule for failed requests, click here.
More Information… This error occurs when the file extension of the requested URL is for a MIME type that is not configured on the server. You can add a MIME type for the file extension for files that are not dynamic scripting pages, database, or configuration files. Process those file types using a handler. You should not allows direct downloads of dynamic scripting pages, database or configuration files.
Server Version Information: Internet Information Services 7.0.
By Kung on March 18th, 2008 at 1:24 pm #
Hi,
Thanks for the guide.
Gary and Michael,
You might forget to check ISAPI Extensions when you installed IIS. It’s on Step 5 of IIS7. (Expand Internet Information Services, World Wide Web Services, Application Development Features, and then check off ISAPI Extensions. ISAPI will be needed later when we install PHP.)
After you do this, try to do step 12-16 of Install PHP again.
By Rimzan on March 24th, 2008 at 1:29 pm #
Hi
Can i know how to install a forum in to my site like from PHPbb?
By Deon on March 30th, 2008 at 5:41 am #
Hi there,
I have just opened MySQLInstanceConfig.exe
This is what I have:
Above point 4 % 5 says this:
4. Locate where it says:
This should be the 6th line!
5. This is not the correct Privilege Name The Proper Name for the Privilege is requireAdministrator Please Change the line to:
There is no text to tell me what I should change to what.
I will really appreciate your help. I downloaded mysql-5.0.51a-win32.
Regards,
Deon
My problem is that the fix as per above
By Brent Trahan on March 30th, 2008 at 6:03 am #
requireAdministrator
By J3FFR3Y on April 10th, 2008 at 2:38 am #
Nice job ~~
i hv been lookin for such a post n now i got it
thanks for it n i can now install a web server ^^
By Jeff on April 13th, 2008 at 6:49 pm #
gary Says:
February 6th, 2008 at 12:49 pm
Hi,
I have installed php5 and am trying to setup the mappings as directed. However, when I get to the stage of clicking on ‘yes’ when asking “Would you like to enable this ISAPI exytension? If yes…….” I keep getting the message “One or more of the modules specified does not exist in the modules list. If you are trying to add a script map the IsapiModule or Cgimodule is not present in the modules list”. Help!!!!! I’m completely lost here :-)
cheers
Gary
I’m getting the same thing…Next message says gary worked around this problem but not how. Any help would be appreciated
Thanks
Jeff
By MikeeDee on April 27th, 2008 at 9:20 am #
Thankyou!!! Crystal clear - straight into my favourites
By Rufat on May 18th, 2008 at 9:15 am #
Very Good.The best guide a i have ever seen)))Thanx
By Uri on May 25th, 2008 at 10:38 am #
Have someone can tell me what is the following error and how to resolve this problem,thanks.
Fatal error: Call to a member function RecordCount() on a non-object in C:\inetpub\wwwroot\etc\pager.class.php on line 30
By ceyhan on May 26th, 2008 at 7:33 am #
ive ticked all the the things for the iis then i restarted, i open internet explorer and typed in ‘ http://localhost ‘ then HTTP 404 Not Found. what should i do ? thank you.
By techgeek on May 30th, 2008 at 2:26 am #
Woot! Thanks!
“COPY PHP.INI TO C:\WINDOWS”
… was the key for getting wordpress working on Vista and getting rid of this error
“Your PHP installation appears to be missing the MySQL extension which is required by WordPress”
… after spending over 30 minutes fiddling with the php.ini and ensuring all the red herrings were not causing issues
By Sakthis on June 4th, 2008 at 3:23 pm #
thanks!!!
yuor step-by-step instroduction was very very helpful!!!
By Lacey on June 22nd, 2008 at 1:00 pm #
Piece of cake, thank you.
By becu on June 24th, 2008 at 1:29 pm #
Works like a charm!!! Thank you!!!
By Rasmus Jacobsen on June 26th, 2008 at 6:30 am #
You should link to this http://www.huffs.us/blog/2007/07/getting-php-mysql-iis-and-vista-to-play.html, as it REALLY helps when reconfiguring php.ini.
By robert on June 30th, 2008 at 3:13 pm #
hi can you help me plz i got up to were you test.php in http://localhost/test.php .Fatal error: Call to undefined function phoInfo() in C:\inetpub\wwwroot\test.php on line 1 can you help me plz
By Javed on July 1st, 2008 at 12:25 am #
Server Error in Application “Default Web Site”
——————————————————————————–
HTTP Error 404.3 - Not Found
Description: The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and is not allowed.
Error Code: 0×80070032
Notification: ExecuteRequestHandler
Module: StaticFileModule
Requested URL: http://localhost:80/test.php
Physical Path: C:\inetpub\wwwroot\test.php
Logon User: Anonymous
Logon Method: Anonymous
Handler: StaticFile
Some one help me
By Brent Trahan on July 1st, 2008 at 6:16 am #
@ Javed Looks like PHP is not properly installed.
By Carl Sarelius on July 12th, 2008 at 10:57 pm #
Bloody excellent guide! Thankyou very much! I’d spent hours trying to get things working. Your guide and the way you expressed it was invaluable in preventing additional stress.
Thanks
Carl,
Adelaide, South Australia
By Amin Sabeti on July 13th, 2008 at 10:39 am #
My Windows Visa is Basic and I can’t find ISAPI Extensions. Please help me.
By Donny Yeo on July 15th, 2008 at 9:30 am #
I cannot find me IIS Manger in the Search function..
where has it gone?
anyone?
By M F Subhani on July 22nd, 2008 at 8:45 pm #
Great Tutorial
Just to add some extra bits where I have spent whole day to figure out. Make sure you make a restore point before you setup. It takes just 100Mb however you can delete it later on.
1. install IIS first and test it to see if it shows you HTML pages. Dont go for PHP unless this is true.
2. Download PHP 5.2.6 installer and just run it in elevated (admin mode) and select no extras and nothing except IIS ISAPI server type installation.
3. Edit PHP folder security and give permission to IUSR and IIS_IUSRS to read and write in this folder. (Not sure if that will lead in some memory leak or not)
4. Check if appears by calling complete path of PHP file from server for example http://localhost/index.php. If unsuccessful then place this code in HTML and try it again.
5. Install MySQL (5.0.51b) as mentioned with disabled UAC and everything will be a charm.
6. Make sure to make a restore point if its successful.
By games on July 25th, 2008 at 4:13 am #
Thanks for the great tutorial,
one question; i have installed XAMPP before install mysql as you has explain and i have uninstall later the mysql from the packet XAMPP, but still when i start the XAMPP appears an error of address violation from some .dll .Do you know hox can i resolve?
By iroamz on August 12th, 2008 at 6:09 pm #
Great work! Installed without any problems on Vista Business Edition 32 bit.
Any tips for tutorials on mySql & php????
Cheers
By prasad on September 30th, 2008 at 6:18 am #
Thanx to all. Excellent forum ever i have seen,
By Bryan on October 1st, 2008 at 3:14 am #
Wow… Impressive guide.
Thank you very much…
By Lisa on October 8th, 2008 at 6:57 pm #
I have the same issue as gary had, anyone know how to fix it? I tried to “add module mapping”, but doesn’t work. Pls let me know soon. Thanks!
gary Says:
February 6th, 2008 at 12:49 pm
Hi,
I have installed php5 and am trying to setup the mappings as directed. However, when I get to the stage of clicking on ‘yes’ when asking “Would you like to enable this ISAPI exytension? If yes…….” I keep getting the message “One or more of the modules specified does not exist in the modules list. If you are trying to add a script map the IsapiModule or Cgimodule is not present in the modules list”. Help!!!!! I’m completely lost here :-)
cheers
Gary
By Anthony on October 26th, 2008 at 9:53 pm #
excellent guide thanks! never been set up so fast.
By Kedar Chavan on October 28th, 2008 at 2:24 am #
Thanks a ton buddy!!! great help!! keep it up! this calls for a beer!
By ken on November 7th, 2008 at 5:46 am #
I am having a problem installing the IIS7 on my Vista I have followed the instruction above and did the http://localhost test but is coming up with HTTP 404 Not Found error message. Can you please help.
Secondly, the goal is to install SQL (not MySQL) do you have any ideas how I can do this successfully. I have tried downloading the SQL Server from the Microsoft website (it took forever) but I does not seem to have been installed or configured properly.
I hope I have been able to explain my situation?
By Explore Euro on November 9th, 2008 at 4:12 am #
I followed every thing what ever written in this and got success, thank You my Dear.
By omar on November 9th, 2008 at 6:37 am #
it is great to see this power article … but i have a problem
as localhost it is work fine but when i replace the localhost with the internet IP address it does not work although the iis in ON
e.x http://localhost/index.aspx replaced with http://80.12.123.23/index.aspx …
as note my os is vista buisness edition\
can guide me?
By Fauzy on November 11th, 2008 at 11:17 am #
hi dude,
Thanx a lot,ur tutorial is the best i ever seen on web.It is very usefull.Easy and compact.Anyway keep up ur work.I hope u can decide other tutorial nex time.
By Drazee on November 13th, 2008 at 1:02 am #
Yep! Perfect tutorial and great upkeeping by listening to your responses - it made troubleshooting a breeze.
Thanks a bunch!
-B
By turtle on November 16th, 2008 at 10:01 pm #
Excellent. Best WIMP tutorial on the web.
By Salman on November 27th, 2008 at 1:43 am #
Hi, the tutorial goes great at the beginning.
But, when I reach to Add Script Map .. when I click Yes in the window that asks you if you want to enable this ISAPI extension …
suddenly the error message appear : “One or more of the modules specified for this handler does not exist in the module list. If you are trying to add a script map the IsapiModule or the CgiModule is not present in the modules list”
May I know what happen? Can you help me?
By Salman on November 27th, 2008 at 1:58 am #
Hi … i managed to run php :) tq … now installing mysql
By clutchplayer on December 3rd, 2008 at 3:19 am #
Amazing Tutorial! Thank you so much. Tutorial made setting a WIMP server a breeze! Way2Go Coach!
By Christian on December 3rd, 2008 at 10:58 pm #
Hi! this sounds like a great tutorial so far, and it was going flawlessly until i reached this step:
Right-click php.ini and select Edit.
And I think I might have gotten to that part but then:
Search for extension=php_mysql.dll and uncomment it by deleting the ; in front of it. This allows php to login a MySQL database.
I don’t see above part at all nor know how to get to it. I am using Windows Vista Home Edition and dont know if this is hindering my progress. A screen cap would be greatly appreciated as would an solution as soon as possible. (I’m trying to have a blog I want to make up and running by December 12th)
By ujjwal on December 4th, 2008 at 6:09 am #
hey i have enabled iis but i am not getting the welcome page instead when i ron http://localhost i get this message
Server Error in Application “Default Web Site”
——————————————————————————–
HTTP Error 404.4 - Not Found
Description: The resource you are looking for does not have a handler associated with it.
Error Code: 0×80070002
Notification: MapRequestHandler
Module: IIS Web Core
Requested URL: http://localhost:80/
Physical Path: C:\inetpub\wwwroot
Logon User: Anonymous
Logon Method: Anonymous
Handler: Not yet determined
Most likely causes:
The file extension for the requested URL does not have a handler configured to process the request on the Web server.
What you can try:
If the file extension does not have a handler associated with it, add a handler mapping for the extension.
Verify that the handler associated with the file extension is properly installed and configured.
Create a tracing rule to track failed requests for this HTTP status code. For more information about creating a tracing rule for failed requests, click here.
More Information… This error means that the Web server does not recognize the file extension of the requested resource. A module handler is not configured on the Web server for this extension. If the file extension being denied is required by the Web server, add the appropriate handler for the file extension.
——————————————————————————–
Server Version Information: Internet Information Services 7.0.
By Ty on December 11th, 2008 at 1:28 pm #
Does this php install also apply to PHP 5.2.8?
By Ty on December 11th, 2008 at 1:32 pm #
I continue getting Error 500.0 and I think its bc I can not find the path file php5isapi.dll
Please Help
By gmgreene on December 18th, 2008 at 5:32 pm #
Hi .. thanks so much for your great post. I have everything working great except when I try to view a php file locally with a call to a MySQL db. Everything is working great except for this error when trying to display the page:
Module IsapiModule
Notification ExecuteRequestHandler
Handler PHP
Error Code 0×00000000
Internal Server 500
Any help really appreciated please. Thank you.
By Pierre on December 26th, 2008 at 7:14 am #
Thanks for a great tutorial! I got PHP and mysql to work independently but when I try to get them to work together I only get a blank page…no error message is provided. I have done everything exaxly as specified in your tutorial…which is very similar to verious other sites i have visited in order to fix this problem, but without any success. My test script is as follows:
I’d be delighted if you could assist.
Oh yes, I’m using IIS 6 SP 1, MySQL 5.0.51b and PHP 5.2.5
By Ben on December 28th, 2008 at 7:20 am #
This is the easiest-to-follow I have seen. Fantastic. Kudos. Struggled over the last couple of weeks to get PHP and MySQL working on Vista (IIS 7)to no avail. Even thought of rolling back to Win XP but found that also close to impossible. Search for a way through led me here - and how glad I am. Thanks so much.
In the mean time, any ideas on how to go back to Win XP Pro from Vista Home Premium? Any ideas will be welcome. Cheers