PHP на Windows. Установка и настройка модуля FastCGI на IIS7.
Если у вас у IIS7, то что-то мне подсказывает о названии вашей операционной системы - Windows Vista? Не угадал, тогда Windows Server 2008! Либо вы хакер и поставили IIS7 еще-куда-то, но это нестандартное решение и мы его не поддерживаем ;).
Шаг 1. Установка FastCGI
Хочу обрадовать сразу - в IIS7, идущем с Windows Server 2008 и Windows Vista Service Pack 1 модуль FastCGI уже включен. Его необходимо лишь подключить в настройках. Для этого на Vista нужно открыть Control Panel -> Programs и выбрать "Turn Windows Features On or Off":
После этого необходимо установить фичу в IIS: Internet Information Services -> World Wide Web Services -> Application Development Features -> CGI. При этом будет установлена поддержка и CGI и FastCGI.
На Windows Server 2008 процесс аналогичен: Server Manager -> Roles -> Add Role Services -> Web Server -> Application Development -> CGI.
Собственно все, что требуется для включения модуля FastCGI. Дальше необходимо приступить к конфигурации IIS7, полагая, что PHP уже установлен, как описано в моем предыдущем сообщении.
Шаг 2. Конфигурация IIS7
1. Открыть IIS Manager, выбрать узел (сервер) для которого нужно настроить поддержку PHP. И далее выбрать Handler Mappings.
2. Выбираем на странице Handler Mappings ссылку Add Module Mapping и заполняем окно следующими значениями:
Request path: *.php (обработка всех файлов с расширением .php)
Module: FastCgiModule (модуль FastCGI)
Executable: C:\Web\PHP\php-cgi.exe (путь к PHP)
Name: PHP (имя для удобства)
После добавления этой настройки появится окно с вопросом о регистрации FastCGI приложения для этого обработчика. Подтверждаем.
Описанные выше действия привели к созданию в директории PhpSites следующего web.config файла:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="PHP" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Web\PHP\php-cgi.exe" resourceType="Unspecified" />
</handlers>
</system.webServer>
</configuration>
Теперь можно переходить к проверке работоспособности PHP.
Шаг 3. Проверяем корректность настройки
В директории узла для которого мы сконфигурировали PHP создаем файл index.php:
<?
phpinfo();
?>
И обращаемся к этому файлу через HTTP запрос. В результате, если все хорошо и наша карма не испорчена, запрос будет корректно обработан:
Comments
Anonymous
May 04, 2008
PingBack from http://riarevolution.ru/?p=84Anonymous
May 14, 2008
Воспоьлзовался советами - все заработало PS пингбеки от индексации закрывать не хорошоAnonymous
May 14, 2008
Я ничего не закрываю. Как Вы пришли к такому выводу?