Разные php версии на IIS

Материал из rrv-wiki
Перейти к навигации Перейти к поиску

Иногда под разные проекты требуются разные версии PHP, на IIS это возможно.

Главный man1 [ http://php.net/manual/ru/install.windows.manual.php Главный man2] почитать1 почитать2

1. Скачиваем здесь требуемую версию.

2. Распаковываем и настраиваем как написано тут. На всякий случай снизу выжимка того что надо сделать.

2.1 Измените CGI и FastCGI настройки в файле php.ini как показано ниже:

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

2.2 Следующие шаги позволят вам создать IIS обработчик для PHP в Интерфейсе управления IIS:

2.2.1 В Windows меню Пуск выберите команду "Выполнить:", введите в клавиатуры команду "inetmgr" и нажмите "Ok";

2.2.2 В Интерфейсе управления IIS выберите сервер в дереве "Подключения";

2.2.3 На "Начальной странице" откройте "Сопоставления обработчиков";

2.2.4 На вкладке "Действия" выберите "Добавить сопоставление модуля...";

2.2.5 В окне "Добавление сопоставления модуля" введите следующее:

Путь запроса: *.php
Модуль: FastCgiModule
Исполняемый файл: C:\[Path to PHP installation]\php-cgi.exe
Имя: PHP_via_FastCGI

2.2.6 Нажмите кнопку "Огараничения запроса" и сконфигурируйте сопоставление вызывать обработчик только при сопоставлении с файлом или каталогом;

2.2.7 Нажмите OK во всех диалогах для сохранения конфигурации.

В итоге в папке файловой системы соответствующей части сайта в которой мы добавляли обработчик появится файл web.config например с таким содержанием:

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
   <system.webServer>
       <handlers>
           <remove name="PHP53_via_FastCGI" />
           <add name="PHP5435_via_FastCgi" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.4.35\php-cgi.exe" resourceType="Either" requireAccess="Script" />
       </handlers>
   </system.webServer>
</configuration>

Строка

<remove name="PHP53_via_FastCGI" />

говорит о том что мы убрали обработчик PHP53_via_FastCGI, а следующая строка добавляет новый

<add name="PHP5435_via_FastCgi" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.4.35\php-cgi.exe" resourceType="Either" requireAccess="Script" />