This recipe needs to be described largely in terms of actions rather than explicit commands to be issued.
Download the PHP Windows binary .zip file with API extensions (not the .exe file) from http://php.net/.
Unpack the .zip file into a directory where you can keep its contents indefinitely (such as C:\PHP4). If you use WinZip, be sure to select the Use folder names checkbox to preserve the directory structure inside the .zip file.
Copy the PHP4\SAPI\php4apache.dll to the \modules\ directory under your Apache installation's ServerRoot.
In a command-prompt window, change to the PHP4 directory where you unpacked the .zip file, and type:
...\PHP4>copy php.ini-dist %SYSTEMROOT%\php.ini ...\PHP4>copy php4ts.dll %SYSTEMROOT%
(If installing on Windows 95 or Windows 98, use %WINDOWS% instead of %SYSTEMROOT%.)
Edit the %SYSTEMROOT%\php.ini file, locate the line that starts with extensions_dir, and change the value to point to the PHP4\extensions directory. For instance, if you unpacked the .zip file into C:\PHP4, this line should look like:
extensions_dir = C:\PHP4\extensions
Edit the conf\httpd.conf file under the Apache ServerRoot and add the following lines near the other LoadModule lines:
LoadModule php4_module modules/php4apache.dll
Add the following lines in some scope where they will apply to your .php files:
<IfModule mod_php4.c> AddType application/x-httpd-php .php </IfModule>
Restart the Apache server, and the PHP module should be active.
The PHP module installation on Windows requires a lot of nit-picky manual steps. To test that your installation was successful, create a file named info.php in your server's DocumentRoot; the file should contain the single line:
<?php phpinfo( ); ?>
After restarting your server, try fetching the document info.php from it using a browser. You should see a detailed description of the PHP options that are active.
There are numerous additional options and extensions available for PHP; the recipe given here is only the most basic installation. See the install.txt file in the PHP4 directory and the documentation on the web site for more details.