Apache 1.3.x в Microsoft Windows

Этот раздел содержит заметки и советы, специфичные для установски Apache 1.3.x для PHP в Microsoft Windows Также доступна отдельная страница с инструкциями и заметками по установке Apache 2.

Замечание:

Пожалуйста, для начала прочитайте руководство по установке !

Существует два способа настройки PHP для работы с Apache 1.3.x в Windows. Первый - использовать двоичный файл CGI (php.exe для PHP 4 и php-cgi.exe для PHP 5), второй - использовать Apache Module DLL. В обоих случаях необходимо отредакрировать httpd.conf для настройки Apache для работы с PHP и перезапустить сервер.

В настоящее время SAPI модуль более стабилен под Windows, поэтому мы рекомендуем использовать его вместо CGI так как он более прозрачен и безопасен.

Хотя существует несколько вариантов конфигурирования PHP под Apache, они достаточно просты для новичка. Пожалуйста, пользуйтесь документацией Apache для дальнейших указаний по конфигурированию.

Не забудьте перезагрузить сервер после изменения конфигурационного файла. Например, командами NET STOP APACHE и NET START APACHE, если Apache запушщен как служба Windows, или с помощью обычных ярлыков.

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

Установка PHP как модуля Apache

Необходимо добавить следующие строки в файл Apache httpd.conf:

Пример #1 PHP как модуль Apache 1.3.x

Это предполагает, что PHP установлен в c:\php. Измените путь, если это не так.

Для 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

Для 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

Для обеих версий:

# 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

Установка как бинарного CGI файлa

Если PHP распакован в C:\php\ как описано в разделе Manual Installation Steps, необходимо добавить следующие строки в конфигурационный файл Apache:

Пример #2 PHP и Apache 1.3.x как 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
Заметьте, что вторая строка в списке выше уже находится в httpd.conf, но она закомментирована. Кроме того, не забудьте заменить c:/php/ на ваш настоящий путь к PHP.

Внимание

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

В случае установки PHP как CGI нет такой удобной опции для подсветки синтаксиса исходников PHP как при установке в виде модуля. Если вы хотите использовать ее, необходимо использовать функцию highlight_file(). Для этого просто создайте PHP скрипт со следующим кодом: <?php highlight_file('some_php_script.php'); ?>.

Коментарии

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!
2005-02-27 07:59:02
http://php5.kiev.ua/manual/ru/install.windows.apache1.html
Автор:
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.
2005-08-07 05:16:33
http://php5.kiev.ua/manual/ru/install.windows.apache1.html
Автор:
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
2005-08-27 16:51:31
http://php5.kiev.ua/manual/ru/install.windows.apache1.html
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>
2005-09-27 15:42:47
http://php5.kiev.ua/manual/ru/install.windows.apache1.html
Автор:
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.
2006-01-20 15:35:16
http://php5.kiev.ua/manual/ru/install.windows.apache1.html
Автор:
Note that if you place php in the c:\php5 director your ScriptAlias line should read

ScriptAlias /php/ "c:/php5/"

This may be obvious to regular Apache users, but I changed all sorts of things around before realizing this was the issue. I thought

Action application/x-httpd-php "/php/php-cgi.exe"

was a path and was changing it to "/php5/php-cgi.exe" which didn't work.
2007-06-05 15:10:09
http://php5.kiev.ua/manual/ru/install.windows.apache1.html
Entries to httpd.conf for PHP 5:

  AddType application/x-httpd-php .php

  AddType application/x-httpd-php-source .phps

must appear BEFORE

  LoadModule php5_module "C:/php/php5apache.dll"

This should NOT be added:

  AddModule mod_php5.c

It makes no sense since AddModule means activation of a module compiled staticly into the Apache. We ofcourse do not have that!
2008-09-19 11:43:55
http://php5.kiev.ua/manual/ru/install.windows.apache1.html

    Поддержать сайт на родительском проекте КГБ