Мало хто знає, але починаючи з версії 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-сервері виконують функцію онлайн-моніторингу станів додатки.