Учебник PHP

         

Серверы IIS/PWS

В этом разделе собраны замечания, касающиеся IIS (MicrosoftInternet Information Server), установки PHP на PWS/IIS 3, PWS 4 или новее и на IIS 4 или новее.

Windows и PWS/IIS 3

Рекомендуемый метод для конфигурирования этих серверов - использовать REG-файл, включённый в дистрибутив (pws-php4cgi.reg). Вы может редактировать этот файл, чтобы обеспечить соответствие директорий установки расширений и PHP вашей конфигурации. Либо вы можете следовать ниже указанным шагам и сделать это самостоятельно.

Предупреждение!
Для выполнения этих шагов необходима прямая работа с Windows registry. Единственная ошибка может привести систему в нестабильное состояние. Мы настоятельно рекомендуем сделать сначала копию реестра. Команда PHP Development не несёт ответственности за ущерб, причинённый вашему реестру.
  • Запустите Regedit.

  • Найдите: HKEY_LOCAL_MACHINE /System/CurrentControlSet /Services /W3Svc /Parameters/ScriptMap.

  • В меню Еdit выберите: New->String Value.

  • Впечатайте расширение файлов, которое вы хотите использовать для ваших php-скриптов. Например, .php

  • Дважды щёлкните на новом строковом значении и введите путь к


    php.exe в поле значения данных. Например, c:\php\php.exe.

  • Повторите эти шаги для каждого расширения, которое вы хотите ассоциировать с PHP-скриптами.

Следующие шаги не влияют на инсталяцию web-сервера и выполняются только в том случае, если вы хотите исполнять ваши php-скрипты из командной строки (пример: run c:\myscripts\test.php) или двойным щелчком на скрипте в окне просмотра директории. Вы можете пропустить эти шаги, если предпочитаете загружать PHP-файлы в текстовый редактор, где можете дважды щёлкнуть по ним.

  • Найдите: HKEY_CLASSES_ROOT

  • В меню Еdit выберите: New->Key

  • Назовите ключ для расширения, установленного вами в предыдущем разделе. Пример: .php

  • Выделите новый ключ, в правой панели дважды щёлкните "default value" и введите phpfile.

  • Повторите последний шаг для каждого расширения, установленного в предыдущем разделе.

  • Теперь создайте новый New->Key под HKEY_CLASSES_ROOT и назовите его phpfile.

  • Выделите новый ключ phpfile, в правой панели дважды щёлкните "default value" и введите PHP Script.

  • Щёлкните правой кнопкой мыши на ключе phpfile и выберите New->Key, назовите его Shell.

  • Щёлкните правой кнопкой мыши на ключе Shell и выберите New->Key, назовите его open.

  • Щёлкните правой кнопкой мыши на ключе open, выберите New->Key, назовите его command.

  • Выделите новый ключ command, в правой панели дважды щёлкните "default value" и введите путь к php.exe. Пример: c:\php\php.exe -q %1. (не забудьте %1).

  • Выйдите из Regedit.

  • При использовании PWS под Windows перезагрузите компьютер для перезагрузки реестра.

Пользователи PWS и IIS 3 теперь имеют полностью работоспособную систему. Пользователи IIS 3 могут использовать nifty-утилиту от Steven Genusa для конфигурирования отображения скриптов.

Windows и PWS 4 или новее

При установке PHP под Windows с PWS 4 или более новой версией у вас есть две опции.
Одна - установить PHP CGI-бинарный, другая - использовать ISAPI-модуль/библиотеку DLL.

Если вы избрали CGI binary, сделайте следующее:

  • Отредактируйте включённый файл pws-php4cgi.reg (найдите его в директории SAPI), чтобы отразить местонахождение вашего php.exe. Обратные слэши должны escape-ироваться, например: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\php.exe"

  • В PWS Manager щёлкните правой кнопкой мыши на директории, в которую вы хотите добавить поддержку PHP и выберите Properties. Отметьте бокс 'Execute' и подтвердите изменения.

Если вы избрали ISAPI-модель, сделайте следующее:

  • Отредактируйте включённый файл pws-php4isapi.reg (найдите его в директории SAPI), чтобы отразить местонахождение вашей php4isapi.dll. Обратные слэши должны escape-ироваться, например: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\sapi\\php4isapi.dll"

  • В PWS Manager щёлкните правой кнопкой мыши на директории, в которую вы хотите добавить поддержку PHP и выберите Properties. Отметьте бокс 'Execute' и подтвердите изменения.

Windows NT/2000/XP и IIS 4 или новее

Для установки PHP на NT/2000/XP Server с сервером IIS 4 или более новым следуйте данным инструкциям. Вы можете установить PHP как CGI binary (php.exe) или как ISAPI-модуль.

В любом случае вы должны открыть Microsoft Management Console (может называться 'Internet Services Manager' в разделе Windows NT 4.0 Option Pack или в Control Panel=>Administrative Tools в Windows 2000/XP). Затем щёлкните правой кнопкой мыши на узле вашего Web-сервера (вероятнее всего, он называется 'Default Web Server') и выберите 'Properties'.

Если вы хотите использовать CGI binary, сделайте следующее:

  • Под 'Contents Directory', 'Virtual Directory' или 'Directory' щёлкните кнопку 'Configuration' и перейдите на вкладку App Mappings.

  • Щёлкните Add и в боксе Executable введите: c:\php\php.exe (если считать, что вы unzip PHP в директории in c:\php\).

  • В боксе Extension введите расширение имени файла, которое вы хотите ассоциировать с PHP-скриптами. Оставьте поле 'Method exclusions' чистым и отметьте переключатель Script engine.
    Вы можете также отметить переключатель 'check that file exists' - что несколько замедлит работу, IIS (или PWS) будет проверять, что файл скрипта существует, и сортировать аутентификацию перед запуском php. Это означает, что вы получите ошибку в стиле 404 вместо cgi-ошибки, сообщающую о том, что php не вывел никаких данных.

    Вы обязаны выполнить предыдущий шаг для каждого расширения имён файлов, которое вы хотите ассоциировать с PHP-скриптами. .php и .phtml это обычные расширения, хотя может понадобиться и .php3 для соответствующих приложений РНР 3.

  • Установите уровень безопасности. (В Internet Service Manager) и, если ваш NT Server использует файловую систему NTFS, добавьте право execute для I_USR_ в директории, которая содержит php.exe.

Для использования ISAPI-модуля сделайте следующее:

  • Если вы не хотите выполнять аутентификацию HTTP с использованием PHP, вы можете (и должны) пропустить этот шаг. Под ISAPI Filters добавьте новый ISAPI-фильтр. Используйте PHP в качестве имени фильтра и укажите путь к php4isapi.dll.

  • Под 'Contents Directory' щёлкните кнопку 'Configuration'. Добавьте новое вхождение в Application Mappings. Используйте путь к php4isapi.dll как к Executable, введите .php как расширение, оставьте поле Method exclusions пустым и отметьте бокс Script engine.

  • Полностью остановите IIS (NET STOP iisadmin)

  • Снова стартуйте IIS (NET START w3svc)

Содержание раздела