PHP3 Installation Guide for Windows
(version 3.0.5 is latest)


This install guide will help you install and configure PHP3 on your Windows 9x/NT webserver.
This guide provides installation support for:Personal Web Server (Newest version recommended)
Internet Information Server 3 or 4
Apache 1.3.x
Configuration Changes for PHP3

All modules are now prefixed with ' php3_ '. You will need to change your php3.ini file and/or any scripts loading extensions with the dl() function!!! (or you could always remove the ' php3_ ' prefix). This will prevent confusion between php modules and their supporting libraries.

The ChangeLog, FAQ and updated documentation can always be found at the Official PHP website or any of its mirrors.

General Installation Steps

The following steps should be performed on all installations before the server specific instructions.

  • Extract the distribution file to a directory of your choice. "C:\PHP3\" is a good start.
  • Copy the file, 'php3-dist.ini' to your '%WINDOWS%' directory and rename it to 'php3.ini'. Your '%WINDOWS%' directory is typically:
    c:\windows for Windows 95/98
    c:\winnt or c:\winnt40 for NT servers
  • Edit your 'php3.ini' file:
    • You will need to change the 'extension_dir' setting to point to your php-install-dir, or where ever you have placed your 'php3_*.dll' files.
    • Set the 'doc_root' to point to your webservers document_root.
    • Coose which modules you would like to load when php starts. You can uncomment the: 'extension=php3_*.dll' lines to load these modules. Some modules require you to have additional libraries installed on your system for the module to work correctly. The PHP FAQ has more information on where to get supporting libraries.
      You can also load a module dynamically in your script using: dl("php_*.dll");
    • On PWS and IIS, you can set the browscap.ini to point to:
      'c:\windows\system\inetsrv\browscap.ini' on Windows 95/98 and
      'c:\winnt\system32\inetsrv\browscap.ini' on NT Server. Addtional information on using the browscap functionality in PHP can be found at this mirror, select the "source" button to see it in action.
Windows 95/98/NT and PWS / IIS 3 and 4

The recommended method for configuring these servers is to use the INF file included with the distribution (php_iis_reg.inf). You may want to edit this file and make sure the extensions and php install directories match your configuration.
Or you can follow the steps below to do it manually.

WARNING: These steps involve working directly with the windows registry. One error here can leave your system in an unstable state. We highly recommend that you back up your registry first. The PHP Development team will not be held responsible if you damage your registry.

  • Run Regedit
  • Navigate to: 'HKEY_LOCAL_MACHINE /System /CurrentControlSet /Services /W3Svc /Parameters /ScriptMap'
  • On the edit menu select: 'New->String Value'
  • Type in the extension you wish to use for your php scripts. ex: '.php3'
  • Double click on the new string value and enter the path to 'php.exe' in the value data field. ex: 'c:\php3\php.exe %s %s'. The '%s %s' is VERY important, PHP will not work properly without it.
  • Repeat these steps for each extension you wish to associate with PHP scripts.
  • Now navigate to: 'HKEY_CLASSES_ROOT'
  • On the edit menu select: 'New->Key'
  • Name the key to the extension you setup in the previous section. ex: '.php3'
  • Highlight the new key and in the right side pane, double click the "default value" and enter 'phpfile'.
  • Repeat the last step for each extension you set up in the previous section.
  • Now create another 'New->Key' under 'HKEY_CLASSES_ROOT' and name it 'phpfile'
  • Highlight the new key 'phpfile' and in the right side pane, double click the "default value" and enter 'PHP Script'
  • Right click on the 'phpfile' key and select 'New->Key', name it 'Shell'
  • Right click on the 'Shell' key and select 'New->Key', name it 'open'
  • Right click on the 'open' key and select 'New-Key', name it 'command'
  • Highlight the new key 'command' and in the right side pane, double click the "default value" and enter the path to 'php.exe'. ex: 'c:\php3\php.exe %1'. (don't forget the '%1')
  • Exit Regedit
PWS and IIS 3 users now have a fully operational system. IIS 4 users will need to proceed to the next section for further configuration.
Windows NT and IIS 4

To finish installing PHP3 on an NT Server running IIS 4, follow these instructions:

  • Perform the registry hacks listed in the install section above.
  • In Internet Service Manager (MMC), select the Web site or the starting point directory of an application.
  • Open the directory's property sheets (by right clicking and selecting properties), and then click the Home Directory, Virtual Directory, or Directory tab.
  • Click the Configuration button, and then click the App Mappings tab.
  • Click Add, and in the Executable box, type: 'c:\path-to-php-dir\php.exe %s %s'. You MUST have the %s %s on the end, PHP will not function properly if you fail to do this.
  • In the Extension box, type the file name extension you want associated with php scripts. (You must repeat step 5 and 6 for each extension you want associated with php scripts. (.php3 and .phtml are common)
  • Set up the appropriate security. Make sure the directories that have php script files have 'Script' permission. (This is done in Internet Service Manager), and if your NT Server uses NTFS file system, add execute rights for I_USR_ to the directory that contains 'php.exe'.
Windows 9x/NT and Apache 1.3.x

You must edit your 'srm.conf' to configure Apache to work with the PHP CGI binary.
Although there can be a few variations of configuring PHP under Apache this one is simple enough to be used by the newcomer. Please consult the Apache Docs for further configuration directives.

  • ScriptAlias /php3/ "c:/path-to-php-dir/php.exe"
  • AddType application/x-httpd-php3 .php3
  • AddType application/x-httpd-php3 .phtml
  • AddType application/x-httpd-php3-source .phps
  • Action application/x-httpd-php3 "/php3/php.exe"
  • Action application/x-httpd-php3-source "/php3/php.exe"

To use the source code highlighting feature, simply create a .phps file with the same name as the original and stick this code in: ''. Substitute 'original_php_script.php3' with the name of the file you wish to show the source of. (this is only one way of doing it) Note: On WinApache all back slashes in a path statement such as: "c:\directory\file.ext", must be converted to forward slashes.

PHP Modules

  • php3_calendar.dll | Calendar conversion functions
  • php3_crypt.dll | Crypt Functions
  • php3_dbase.dll | DBASE functions
  • php3_dbm.dll | GDBM emulation via Berkely DB2 library
  • php3_filepro.dll | READ ONLY access to filepro databases
  • php3_gd.dll | GD Library Functions for gif manipulation
  • php3_hyperwave | HyperWave Functions
  • php3_imap4r2.dll | IMAP 4 Functions
  • php3_ldap.dll | LDAP Functions
  • php3_msql2.dll | mSQL 1 Client
  • php3_msql2.dll | mSQL 2 Client
  • php3_mssql.dll | MSSQL Client (Requires MSSQL DB-Libraries)
  • php3_mysql.dll | MySQL functions
  • php3_nsmail.dll | Netscape Mail Functions
  • php3_oci73.dll | Oracle Functions
  • php3_snmp.dll | SNMP Get and Walk functions (NT ONLY!)
  • php3_zlib.dll | ZLib Functions