Статьи

Новый встроенный веб-сервер PHP 5.4

Одним из наиболее интересных средств, предоставляемых в PHP 5.4, является встроенный веб-сервер. Он запускается из командной строки в Windows, Mac или Linux. Вам просто нужно «cd» в папку, где находится ваше приложение, затем выполнить:


php -S localhost:8000

Это запустит консольный веб-сервер. Корень документа находится в текущей папке:

 Сервер разработки PHP 5.4.0 запущен в понедельник, 19 декабря 11:56:05 2011
 Прослушивание на локальном хосте: 8000
 Корнем документа является / home / owner / myapp
 Нажмите Ctrl-C, чтобы выйти

Затем вы можете открыть http: // localhost: 8000 / в вашем браузере. Если вы явно не включите имя файла, сервер вернет в корневую папку файл index.php или index.html. Все запросы файлов регистрируются в окне консоли.

Также можно указать PHP-файл «router» в командной строке, например

 
php -S localhost:8000 -t ./home/owner/myapp routing.php

Сервер анализирует вывод файла routing.php:

  • Если скрипт возвращает false, запрошенный ресурс (или 404) возвращается как есть.
  • Если скрипт возвращает что-либо еще, этот вывод возвращается в браузер.

Например, следующий скрипт роутера вернет файлы изображений, но на всех других запросах будет отображаться «Добро пожаловать на сервер PHP!»:

 
<?php
if (preg_match('/.(?:png|jpg|jpeg|gif)$/', $_SERVER['REQUEST_URI']))
	return false; // serve the requested image
else {
	echo "<p>Welcome to the PHP Server!</p>";
}

Веб-сервер PHP 5.4 предназначен для целей разработки, и я подозреваю, что он будет принят текстовыми редакторами, IDE и, возможно, подключаемыми модулями браузера как простой способ тестирования кода PHP.

Нет причин, по которым вы не могли бы использовать его на маленьком внутреннем сервере — и некоторые люди попытаются — но, безусловно, есть более подходящие решения. Тем не менее, мы могли видеть несколько интересных применений, таких как демонстрации веб-приложений, которые могут запускаться с компакт-диска.

PHP 5.4 RC1 был выпущен недавно. Я сомневаюсь, что вам нужно долго ждать финальной версии.