 |
В этом разделе собраны замечания,
касающиеся IIS (MicrosoftInternet Information Server), установки PHP на PWS/IIS
3, PWS 4 или новее и на IIS
4 или новее. Рекомендуемый
метод для конфигурирования этих серверов - использовать 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 для конфигурирования отображения скриптов. При установке 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' и подтвердите изменения.
Для установки 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)
|  |