Краткая инструкция по подключению php к IIS8.
Дано:
Windows Server 2012 R2 x64
IIS8
Решение:
Копируем с сайта версию php VC11 x86 Non Thread Safe. Так же на этом сайте копируем необходимую библиотеку Visual Studio 2012. Обращаем внимание на разрядность php и библиотеки, чтобы все у нас совпадало.
Далее, распакуем архив, и сразу переименуем файл php.ini-development в php.ini, и откроем его на редактирование. Найдем следующие строчки, и снимем комментарий с них.
1 2 3 4 5 6 |
fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0 |
Теперь открывfем IIS 8, и идем в раздел Сопоставление обработчиков, и выбираем пункт из боковой панели(справа), или кликаем правой кнопкой мышки – Добавить сопоставление модуля.
Заполняем форму:
Путь запроса – *(ставим звездочку)
Модуль – FastCgiModule
Исполняемый файл – C:\php_32\php-cgi.exe (путь к нашей папке, где расположен наш php)
Имя – Любое, например php
Далее, кликаем по Ограничения запроса и ставим галочку Файл или каталог, закрываем форму и перезапускаем наш IIS. Также желательно добавить в раздел Документы по умолчанию – index.php
После всех этих манипуляций, должен появится файл web.config, если его у вас не было, в котором должна быть раздел <handlers> с соответствующей записью, приведу минимальную конфигурацию файла web.config для обработки php :
1 2 3 4 5 6 7 8 9 10 11 |
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <remove name="php" /> <add name="php" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\php_32\php-cgi.exe" resourceType="Either" requireAccess="Script" /> </handlers> </system.webServer> </configuration> |
И последнее, желательно добавить папку, с установленным php, в системные переменные, для старта, это не обязательно, но при подключении разных модулей, может понадобиться.