Php вбудований web-сервер

Мало хто знає, але починаючи з версії PHP 5.4 ця мова програмування має вбудований web-сервер. У цій статті ми розглянемо його запуск і використання в ОС Windows.

Якщо у вас не налаштований обробник PHP в системі:

Запуск та налаштування сервера

Тепер прийшов час запустити сервер. Для цього відкриємо термінал і перейдемо в папку з сайтом. Після чого викличемо команду

або можна використовувати таку команду:

В даному прикладі прапор -t використовується для вказівки шляху до папки з виконуваними скриптами PHP.

Замість шляху до папки - можна вказати шлях до виконуваного php файлу. Такий файл буде маршрутизатором додатки. Причому якщо скрипт повертає false - то запитуємо url буде оброблятися сервером або поверне 404 помилку, інакше, якщо скрипт повертає щось ще, то він передається клієнту.

Якщо замість IP вказати 0.0.0.0 - то сервер буде доступний на будь-якому інтерфейсі машині.

Іноді з додатком необхідно вказати специфічні настройки php.ini. Для цього передбачений прапор -c. дозволяє явно вказати шлях до такого файлу налаштувань.

php -S localhost: 80 -c path / to / php.ini

Хорошим прикладом, в таких випадках, є зберігати php.ini в кореневій директорії вашого застосування. Це може полегшити доступ до налаштувань для інших розробників, якщо ви працюєте в команді і використовуєте загальний (мережевий) доступ до додатка. Також це дозволяє вивантажувати файл настройок в систему контролю версій.

Ще однією відмінною особливістю вбудованого сервера є відсутність підтримки .htaccess - це може позначитися критично на додатках, що використовуються фронт-контролер. У зв'язку з цим сервер підтримує установку сценаріїв маршрутизації.

php -S localhost: 80 router.php

Сценарій маршрутизації буде запускатися перед кожним HTTP-запитом.

Варто помітити, що після запуску сервера кожен HTTP запит відображається в терміналі. Завдяки цьому можна, наприклад, помітити коли сайт поверне 400 або 500 помилку. Взагалі термінал при включеному web-сервері виконують функцію онлайн-моніторингу станів додатки.

Схожі статті