Включення підтримки FastCGI в IIS
Модуль FastCGI при установці IIS за замовчуванням відключений. Способи включення його розрізняються залежно від версії використовуваної Windows.
Для включення підтримки FastCGI на Windows Vista SP1 і Windows 7:
У меню "Пуск" виберіть пункт "Виконати", у вікні введіть з клавіатури "optionalfeatures.exe" і натисніть "Ok";
У вікні "Компоненти Windows" розкрийте папку "Служби IIS", "Служби інтернету", "Компоненти розробки додатків" і встановіть галочку навпроти "CGI";
Натисніть OK і чекайте закінчення процесу установки.
У Windows відкрийте меню Пуск виберіть пункт "Виконати:", наберіть з клавіатури "CompMgmtLauncher" і натисніть "Ok";
Якщо роль "Веб-сервер (IIS)" не представлена у вкладці "Ролі", додайте її, вибравши "Додати ролі";
Якщо роль "Веб-сервер (IIS)" присутній, виберіть "Вибір служби ролей" і встановіть галочку навпроти "CGI" в групі "Компоненти розробки додатків";
Натисніть "Далі" потім "Встановити" і чекайте закінчення процесу установки.
Налаштування IIS для обробки PHP запитів
Скачайте і встановіть PHP відповідно до інструкцій, наведеними в описі установки
При використанні IIS рекомендується використовувати потоко-небезпечну (Non-thread-safe) збірку PHP, яка доступна по посиланню "PHP для Windows: Файли та вихідний код.
Змініть CGI і FastCGI настройки в файлі php.ini як показано нижче:
Приклад # 1 CGI і FastCGI настройки в php.ini
Налаштуйте IIS обробник для PHP, використовуючи Інтерфейс управління IIS або через командний рядок.
Використання інтерфейсу управління IIS для створення обробника PHP
Наступні кроки дозволять вам створити IIS обробник для PHP в інтерфейсі управління IIS:
У Windows меню Пуск виберіть команду "Виконати:", введіть в клавіатури команду "inetmgr" і натисніть "Ok";
В інтерфейсі управління IIS виберіть сервер в дереві "Підключення";
На "початку сторінки" відкрийте "Зіставлення оброблювачів";
На вкладці "Дії" виберіть "Додати зіставлення модуля.";
У вікні "Додавання зіставлення модуля" введіть наступне:- Шлях запиту: * .php
- Модуль: FastCgiModule
- Виконуваний файл: C: \ [Path to PHP installation] \ php-cgi.exe
- Ім'я: PHP_via_FastCGI
Натисніть кнопку "Обмеження запиту" і налаштуйте зіставлення викликати оброблювач тільки при зіставленні з файлом або каталогом;
Натисніть OK у всіх діалогах для збереження конфігурації.
Використання командного рядка для створення зіставлення обробника PHP
Використовуйте команди наведені нижче для створення пулу процесів IIS FastCGI який буде використовувати php-cgi.exe виконується для PHP запитів. Замініть значення параметра fullPath на абсолютний шлях до файлу php-cgi.exe.
Приклад # 2 Створення IIS FastCGI пулу процесів
Налаштування IIS для обробки специфічних запитів PHP з командного рядка показана нижче. Замініть значення параметра scriptProcessor на абсолютний шлях до файлу php-cgi.exe.
Приклад # 3 Створення зіставлення обробника запитів PHP
Ця команда створює для IIS зіставлення обробника для файлів з розширенням * .php, який виходить в результаті і обробляється модулем FastCGI.
На цьому кроці встановлення та налаштування завершені. Наступні інструкції необов'язкові, але дуже рекомендуються для кращого надання послуг і продуктивності PHP на IIS.
Подання та доступ до файлової системи
Щоб вирішити який користувач використовується для ідентифікації в IIS 7, можна використовувати наступні команди. Замініть "Default Web Site" на ім'я IIS сайту, з яким ви працюєте. На виході, в XML конфігурації дивіться атрибут userName.
Якщо атрибут userName відсутня в елементі anonymousAuthentication. або встановлений як порожній рядок, це означає, що посвідчення пулу додатків використовується як анонімне для цього веб-сайту.
Для зміни налаштувань доступу для файлів або папок, використовуйте інтерфейс користувача в провіднику Windows або команду icacls.
Приклад № 5 Налаштування дозволу доступу до файлів
Установка index.php як документ за замовчуванням в IIS
За замовчуванням в IIS не встановлено ім'я документа для обробки HTTP запитів за замовчуванням. У PHP додатках, зазвичай використовується за замовчуванням документ index.php. Щоб додати index.php в лист документів за замовчуванням IIS, використовуйте таку команду:
Приклад # 6 Установка index.php як документ за замовчуванням в IIS
FastCGI і PHP видалення конфігурації
Налаштування IIS FastCGI установок для утилізації PHP процесів за допомогою команд наведена нижче. Опція FastCGI instanceMaxRequests встановлює максимальну кількість запитів, яке може оброблятися одним php-cgi.exe процесом поки IIS не почне їх відключати. PHP змінна оточення PHP_FCGI_MAX_REQUESTS встановлює як багато запитів буде обробляти один php-cgi.exe процес поки сам не почне видаляти їх. Звичайно, значення встановлене для FastCGI InstanceMaxRequests менше або дорівнює PHP_FCGI_MAX_REQUESTS.
Приклад # 7 Налаштування FastCGI і PHP утилізації
Установка таймаута FastCGI
Збільшення параметра таймаута для FastCGI робиться, якщо є довго виконується PHP скрипт. Два параметра контролюють таймаут, це: activityTimeout і requestTimeout. Використовуйте команди наведені нижче для зміни налаштувань таймаута. Звичайно, треба замінити значення параметра fullPath на повний шлях до файлу php-cgi.exe.
Приклад # 8 Конфігурація установок таймаута FastCGI
Зміна положення файлу php.ini
PHP шукає файл php.ini деяких позначках і це дає нам можливість змінити розташування за замовчуванням файлу php.ini. використовуючи змінну оточення PHPRC. Щоб вказати PHP завантажувати конфігураційний файл з певного місця використовуйте команди, наведені нижче. Абсолютний шлях до директорії, де лежить файл php.ini. визначається як значення змінної оточення PHPRC.
Приклад # 9 Зміна положення файлу php.ini