PHP: Apache 1.3.x on Microsoft Windows - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Apache 2.0.x on Microsoft Windows Microsoft IIS / PWS

Last updated: Fri, 26 Jan 2007

view this page in

# Apache 1.3.x on Microsoft Windows

This section contains notes and hints specific to Apache 1.3.x installs of PHP on Microsoft Windows systems. There are also instructions and notes for Apache 2 on a separate page.

> Замечание: Please read the manual installation steps first!

There are two ways to set up PHP to work with Apache 1.3.x on Windows. One is to use the CGI binary (`php.exe` for PHP 4 and `php-cgi.exe` for PHP 5), the other is to use the Apache Module DLL. In either case you need to edit your `httpd.conf` to configure Apache to work with PHP, and then restart the server.

It is worth noting here that now the SAPI module has been made more stable under Windows, we recommend it's use above the CGI binary, since it is more transparent and secure.

Although there can be a few variations of configuring PHP under Apache, these are simple enough to be used by the newcomer. Please consult the Apache Documentation for further configuration directives.

After changing the configuration file, remember to restart the server, for example, NET STOP APACHE followed by NET START APACHE, if you run Apache as a Windows Service, or use your regular shortcuts.

> Замечание: Помните, что при указании путей в конфигурационных файлах Apache под Windows, все обратные слэши, например `c:\directory\file.ext` должны быть изменены на прямые: `c:/directory/file.ext`.

## Installing as an Apache module

You should add the following lines to your Apache `httpd.conf` file:

Пример 6-3. PHP as an Apache 1.3.x module

This assumes PHP is installed to `c:\php`. Adjust the path if this is not the case.

For PHP 4:

    # Add to the end of the LoadModule section
    # Don't forget to copy this file from the sapi directory!
    LoadModule php4_module "C:/php/php4apache.dll"

    # Add to the end of the AddModule section
    AddModule mod_php4.c

For PHP 5:

    # Add to the end of the LoadModule section
    LoadModule php5_module "C:/php/php5apache.dll"

    # Add to the end of the AddModule section
    AddModule mod_php5.c

For both:

    # Add this line inside the <IfModule mod_mime.c> conditional brace
    AddType application/x-httpd-php .php

    # For syntax highlighted .phps files, also add
    AddType application/x-httpd-php-source .phps

## Installing as a CGI binary

If you unzipped the PHP package to `C:\php\` as described in the Manual Installation Steps section, you need to insert these lines to your Apache configuration file to set up the CGI binary:

Пример 6-4. PHP and Apache 1.3.x as CGI

    ScriptAlias /php/ "c:/php/"
    AddType application/x-httpd-php .php

    # For PHP 4
    Action application/x-httpd-php "/php/php.exe"

    # For PHP 5
    Action application/x-httpd-php "/php/php-cgi.exe"

    # specify the directory where php.ini is
    SetEnv PHPRC C:/php

Note that the second line in the list above can be found in the actual versions of `httpd.conf`, but it is commented out. Remember also to substitute the `c:/php/` for your actual path to PHP.

Внимание
Используя установку CGI, ваш сервер открыт для нескольких возможных атак. Пожалуйста, ознакомьтесь с разделом "Безопасность CGI" чтобы узнать, как можно защитить себя от этих атак.

If you would like to present PHP source files syntax highlighted, there is no such convenient option as with the module version of PHP. If you chose to configure Apache to use PHP as a CGI binary, you will need to use the highlight_file() function. To do this simply create a PHP script file and add this code: `<?php highlight_file('some_php_script.php'); ?>`.

add a note User Contributed Notes
Apache 1.3.x on Microsoft Windows
BCarr
20-Jan-2006 01:35
`To Besta and 'j dot b..dot sk':
'Add Module mod_php4.c' or 'AddModule mod_php5.c' may or may not be necessary depending on your environment and version of Apache.
In my situation, this add module DID NOT work or it wasn't necessary. The LoadModule was enough to do the trick. I tried it with PHP4 on Apache 1.3.34 and Apache 2.0.
All in all, your notes have been helpful. Thanks.`
j dot b at inmail dot sk
27-Sep-2005 12:42
`DO NOT FORGET to add "index.php" into
<IfModule mod_dir.c>
DirectoryIndex index.html
</IfModule>
so you get index.php processed;multiple values separate by space:
<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>`
27-Aug-2005 01:51
`On contrary to user "Besta"'s post
AddModule mod_php5.c
should be added to the addmodule section. I installed php5 and apache 1.3.3 and without the above line it is not recognizing the .php files`
Besta
07-Aug-2005 02:16
`Do not add this line to apache http.conf. It does not work.
AddModule mod_php5.c
Also, remember to edit the system variables, edit the PATH and add the path to the php directory and restart windows.`
psychosos at gmx dot at
27-Feb-2005 05:59
`Please note that the SetEnv PHPRC "directory/to/phpini/" only works when using PHP as CGI, but _not_ when you use the PHP Apache Module!`
add a note
Apache 2.0.x on Microsoft Windows Microsoft IIS / PWS

Last updated: Fri, 26 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST