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
Используя установку CGI, ваш сервер открыт перед несколькими возможными уязвимостями. Пожалуйста, ознакомьтесь с разделом "Безопасность CGI" чтобы узнать, как можно защитить себя от таких атак.
В случае установки PHP как CGI нет такой удобной опции для подсветки синтаксиса исходников PHP как при установке в виде модуля. Если вы хотите использовать ее, необходимо использовать функцию highlight_file(). Для этого просто создайте PHP скрипт со следующим кодом: <?php highlight_file('some_php_script.php'); ?>.
Коментарии
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.
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!