Серверы IIS/PWS
Серверы 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)