Apache 2.x на Microsoft Windows
Ця сторінка містить замітки та підказки призначені для встановлення
PHP в зв'язці з Apache 2.x на Систему Microsoft Windows. Ми також маємо
на окремій сторінці інструкції
та замітки для встановлення PHP в зв'язці з Apache 1.3.x.
Зауваження:
Для початку, потрібно прочитати сторінку Ручне
Встановлення PHP на Windows!
Зауваження:
Підтримка Apache 2.2
Користувачам Apache 2.2 потрібно пам'ятати, що файл DLL для Apache 2.2
має назву php5apache2_2.dll, а не
php5apache2.dll та доступний тільки для PHP 5.2.0 та
вище. Див. також » http://snaps.php.net/
Настійно рекомендується ознайомитись з
» Документацією Apache, щоб мати
базове уявлення про Сервер Apache 2.x. Також прочитайте
» Замітки призначені для Windows
стосовно встановлення Apache 2.x.
Apache 2.x повинен коректно працювати на серверних версіях Windows NT 4.0,
Windows 2000, Windows XP, або Windows 7. Хоча Apache 2.x досить непогано
працює на Windows 9x, підтримка для цих версій вже завершена, а тому
деякі речі вже не працюватимуть коректно. Виправлення цієї ситуації
не планується.
Скачайте свіжу версію »
Apache 2.x та PHP.
Слідуйте крокам Ручного Встановлення
та повертайтесь для продовження інтеграції PHP з Apache.
Є три варіанти встановлення PHP для роботи з Apache 2.x на Windows.
Ви можете запустити PHP або як обробник, або як CGI, або як FastCGI.
Зауваження: Пам'ятайте,
що коли ви додаєте значення шляху в конфігураційному файлі Apache на Windows,
всі зворотні слеші, такі як c:\directory\file.ext потрібно конвертувати
прямими слешами: c:/directory/file.ext. Слеш в кінці також є
обов'язковим, коли вказуєте директорію.
Встановлення PHP як обробника в Apache
Вам потрібно вставити наступні рядки до конфігураційного файла Apache
httpd.conf, щоб завантажити модуль PHP для Apache 2.x:
Приклад #1 PHP як обробник в Apache
#
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php
# вказування шляху до директорії з файлом php.ini
PHPIniDir "C:/php"
Зауваження:
В попередньому прикладі не забудьте замінити C:/php/
на актуальний шлях до директорії PHP. Також зверніть увагу, що, так як і
написано вище, є відмінність між файлами php5apache2.dll
та php5apache2_2.dll, а тому варто обережно додавати їх
для директиви LoadModule, причому переконайтесь, що файл, на який ви
посилаєтесь, дійсно існує за вказаним шляхом.
Зазначена вище конфігурація дозволить PHP-обробку для будь-яких файлів, що
мають в своїй назві частину .php, навіть якщо файл має інше розширення.
Наприклад, файл з назвою example.php.txt буде
виконуватись через PHP-обробник. Щоб гарантувати, що PHP буде обробляти
лише ті файли, що закінчуються на на
.php, використовуйте таку конфігурацію:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Запуск PHP як CGI
Варто ознайомитись з » Документацією
Apache CGI для повнішого розуміння роботи CGI на Apache.
Щоб запустити PHP як CGI, потрібно покласти ваші файли php-cgi в директорію,
визначену як CGI-директорія, яка використовується директивою ScriptAlias.
Далі потрібно вставити рядок #! в PHP-файли, вказуючи на місцерозташування
вашого бінарно файла PHP:
Приклад #2 Вміст файла, для його обробки через PHP як CGI на Apache 2.x
#!C:/php/php.exe
<?php
phpinfo();
?>
УвагаВикористання сервера
в CGI-режимі, відкриває декілька можливих вразливостей. Будь-ласка, прочитайте наш розділ
Безпека CGI, щоб дізнатись як захистити
себе від таких атак.
Запуск PHP під FastCGI
Запуск PHP під FastCGI має ряд переваг в порівнянні із її запуском як CGI.
Налаштування в такому разі є досить простим:
Отримайте mod_fcgid із сайту
» http://httpd.apache.org/mod_fcgid/, де також
є бінарники для Win32. Встановіть цей модуль у відповідності до інструкцій,
що йдуть разом з ним.
Конфігуруючи ваш веб-сервер як показано нище, подбайте, щоб будь-який
шлях було вказано відповідно до конкретно - вашої системи:
Приклад #3 Конфігурація Apache для запуску PHP як FastCGI
LoadModule fcgid_module modules/mod_fcgid.so
# Де знаходиться файл php.ini?
FcgidInitialEnv PHPRC "c:/php"
AddHandler fcgid-script .php
FcgidWrapper "c:/php/php-cgi.exe" .php
Тепер файли з розширенням .php будуть оброблятись через обгортку PHP FastCGI.