Если коротко то речь пойдет о том что в php начиная с версии 5.4.0 и как то сей факт на мой взгляд незаслуженно забыли, хотя во многих случаях пользоваться им достаточно удобно , и для мелких задач это самый правильный путь для тестовых проектов и прочих экспериментов.
В отличии от сложностей с конфигурациями например apache-а эта утилита легка в понимании есть практически везде и я так подозреваю менее требовательна к ресурсам.
В прошлых статьях я уже описал достаточно большое количество всяческих диковинных штук связанных с веб-серверами так уж повелось, возможно это не сильно интересно и совсем не о разработке я скорее всего это в ближайшее время намерен исправить, но сегодняшнюю тему все равно донесу как есть .
Странно это или закономерно на этом встроенном сервере можно запускать не только hello world но и например WordPress, но для этого нам понадобится еще и отдельно стоящий MYSQL сервер.
Предположим что на нашей локальной машине еще еще нет MYSQL и ОС Ubuntu/Debian к примеру , все описанное в статье можно повторить на любой операционной системе в том числе windows.
Здесь я опишу стандартные шаги по установке MYSQL с php сервером это не связанно, но может пригодиться.
#ставим MYSQL сервер sudo apt-get install mysql-server #Запускаем сервер service mysqld start #Авторизовываемся если root пароль для MySQL не задан, а такое может быть на локальной машине #то ключ -p не указываем mysql -u root -p</p> #Создаем базу данных для нашего сайта #Пользователя этой базы #После даем этому пользователю привилегии на только что созданную базу mysql create database wordpress_base; mysql grant usage on *.* to wordpress_user@localhost identified by wordpress_passwd; mysql grant all privileges on wordpress_base.* to wordpress_user@localhost; #что бы выйти нажимаем ctrl+c :)
После чего можно запустить сервер
Нужно зайти в каталог в котором мы хотим создать корень веб сервера и набрать команду
php -S localhost:8000
после чего из этого каталога будет доступен заранее заготовлен hello world, в него же можно установить WordPress, здесь все как обычно, стандартная пятиминутная установка, из коробки даже постоянные ссылки работают, чего сложнее добиться даже используя nginx
Так же есть полезная стоит на мой взгляд рассказать о возможности поднять сервер на всех сетевых интерфейсах (на нулях)
php -S 0.0.0.0:8000
нужно это для того что бы протестировать свой сайт например на мобильном подключившись подключившись по WiFi, но использовать это стоит очень осторожно в виду возможных проблем с безопасностью, так же не стоит использовать php сервер в продакшене о чем написано в документации.
Так же в документации приведены использования скриптов маршрутизации, но я пока не знаю зачем мне это нужно поэтому просто покажу пример из документации.
Скрипт, допустим router.php:
<?php // router.php if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) { return false; // сервер возвращает файлы напрямую. } else { echo "<p>Welcome to PHP</p>"; } ?>
Команда:
php -S localhost:8000 router.php
В примере изображения будут отдаваться браузеру но файлы html не будут обрабатываться вместо них будет выводиться «Welcome to PHP»
Есть нюансы. А вот в WP-CLI есть команда `server`, которая может.
Согласен )) Но пост 2015 года вроде server в WP-CLI примерно тогда и появился или позже
и кажется я правильно помню, вот в версии 0.20 это август, а пост в мае писался