Як використовувати вбудовані веб-сервери PHP
Дата оновлення перекладу 2023-06-15
Як використовувати вбудовані веб-сервери PHP
З виходу PHP 5.4, CLI SAPI постачається з вбудованим веб-сервером. Він може бути використаний для запуску ваших PHP-додатків локально під час розробки, для тестування або для демонстрації додатку. Таким чином, вам не потрібно морочити собі голову конфігурацією повномаштабного веб-сервера, такого як Apache або Nginx.
Caution
Вбудований веб-сервер має бути запущений лише у контрольованому середовищі. Він не створений для використання у публічних мережах.
Запуск веб-сервера
Запустити застосунок Symfony з використанням вбудованого веб-сервера PHP так
само легко, як виконати команду server:start
:
1
$ php bin/console server:start
Це запускає веб-сервер у localhost:8000
у фоновому режимі, який обслуговує
ваш застосунок Symfony.
За замовчуванням, веб-сервер слухає порт 8000 на закільцьованому пристрої. Ви можете змінити канал, що передає IP-адресу та порт, в якості аргументу командного рядку:
1
$ php bin/console server:start 192.168.0.1:8080
Note
Тепер ви можете використовувати команду server:status
, щоб перевірити, чи слухає
ваш веб-сервер певний канал:
1 2 3
$ php bin/console server:status
$ php bin/console server:status 192.168.0.1:8080
Перша команда показує вам, чи буде ваш застосунок Symfony використовувати сервер
через localhost:8000
, а друга - робить те ж саме для 192.168.0.1:8080
.
Tip
Деякі системи не підтримують команду server:start
, у цих випадках ви можете
виконати команду server:run
. Ця команда веде себе трохи інакше. Замість запуску
сервера у фоновому режимі, вона заболкує поточний термінал до того, як ви її
перервете (це робиться шляхом натискання Ctrl + C).
Опції команди
Вбудований веб-сервер очікує на скрипт "маршрутизатора" (прочитайте про скрипт
"маршрутизатора" на php.net) в якості аргументу. Symfony вже передає такий
скрипт, коли команда виконується в середовищі prod
або dev
. Використайте
опцію --router
в будь-якому іншому середовищі, або використайте інший скрипт
маршрутизатора:
1
$ php bin/console server:start --env=test --router=app/config/router_test.php
Якщо кореневий документ вашого додатку відрізняється від стандартного макету каталога,
вам потрібно передати правильну локацію, використовуючи опцію --docroot
:
1
$ php bin/console server:start --docroot=public_html
Зупинка сервера
Коли ви закінчили, ви можете просто зупинити веб-сервер, використовуючи команду
server:stop
:
1
$ php bin/console server:stop
Як і з командою запуску, якщо ви опустите інформацію про канал, Symfony зупинить
сервер, прив'язаний до localhost:8000
. Просто передайте інформацію про канал,
коли веб-сервер слухає іншу IP-адресу або інший порт:
1
$ php bin/console server:stop 192.168.0.1:8080