Webservers on Windows - Apache, Mysql and Php Installation
The Appendixes
- IIS and Php
- Other Databases
- Php settings from Apache
- PECL
- phpMyAdmin
IIS and Php
IIS (Internet Information Server) is NOT the best choice for windows servers but if you need to use it for some reason The Php Manualhas an excellent section on how to install. I’d personally recommended installing php as an isapi - you trade some stability with php as a cgi for a great increase in speed and flexibility with the sapi.
Other Databases
Php has many database extensions that can be used. The great limiting factor seems to be the number of php software items which only work on mysql. There are “abstraction layers” for php. Pear DB, Pear MDB, Pear MDB2 and ADODB just to name a few. Installing new php database extensions involves editing the php.ini file to allow the extension you wish to be activated, then restarting the server. PDO, Php data objects, is a new feature of php 5.1 and should make database access a much easier task.
Php settings from Apache
You can change some php settings from your apache configuration file or .htaccess files. Why would you want to do this? The most practical application is when using large numbers of virtual hosts. A look at php ini directives will show which ones can be changed with .htaccess, which can be changed in the script, and which can be changed with httpd.conf.
PECL
Pecl is the php extension repository. Php is moving away from having large amounts of functionality bundled in the core and instead moving extensions into pecl. Once considered “siberia” for extensions, PECL now has a large number of useful active projects, and even has automatic creation of windows .dlls for all the current branches. Installing a pecl extension on windows is fairly simple, download the right .dll, put it in your php extension directory, add the extension name to list in the php.ini and restart the server.
phpMyAdmin
phpMyAdmin is a very popular php way to manage mysql databases. You’ll need to download the latest version, place it somewhere in your document root and edit config.inc.php. You should then be able to login using the username root and the password you set when you configured your database instance.

November 28th, 2005 at 9:35 am
We have had to copy libeay32.dll, libmhash.dll, libmysql.dll, ssleay32.dll, yas.dll from php directory to either the apache2 bin directory or windows system32 directory in order for php to find corresponding extensions.
November 28th, 2005 at 10:36 am
Then you didn’t read the directions carefully enough - add the path to the php directory to your path environment variable AND RESTART THE COMPUTER - I know a lot of people say you don’t have to restart after changing PATH but I can’t get that to work on windows XP pro - restarting fixes it. Also if you have problems with php_mysql.dll or php_mysqli.dll make sure the path to libmysql.dll comes BEFORE the path to your php dir in the path variable, otherwise the wrong libmysql.dll will get used.
July 10th, 2006 at 8:35 am
Do you know anything about adjusting the cpu utilization of apache under windows? Some data processing PHP scripts I’ve been running are executing rather slowly, and when I check the task monitor, the CPU usage never goes above 10%rnrnI’d like to see apache use 100% when running these scripts..
August 11th, 2006 at 9:48 pm
Have you a way to connect to PICK/UNIVERSE databases with php?
August 11th, 2006 at 11:02 pm
I don’t know that much about it but according to google theoretically you can connect to PICK/UNIVERSE with an odbc driver - so you’d have to install the driver in windows and create an odbc dsn and connect to it via php’s http://us2.php.net/odbc functions - but no, there is not a native way to connect to that database using php
December 18th, 2006 at 10:34 am
Hi! I setup SSL/TLS on apache 2.0.rnIts working fine apache only listen on 443 port for incoming connections. My question is:rnHow to config apache , for example when user type www.dome.com to automatic redirect him to port 443 and https connection. Now when i use www.domain.com he dont display anything because apache don listen on 80.rnCan you help me, please? Thanx