PHP RFC: встроенный вебсервер
3 марта 2011
В RFC PHP попала новая идея: встроенный вебсервер. Штука определённо замечательная: можно будет разрабатывать не запуская тот же Apache и не занимаясь его настройкой. Пока реакция разработчиков положительная, поэтому можно надеяться, что нововведение будет в ядре.
Запускать это дело предлагается очень просто:
php -S localhost:8000 docroot
При этом можно использовать роутинг-скрипт, заменяющий, например mod_rewrite и выглядящий так:
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) return false; // отдаём как есть else ...
К странице в wiki прилагается патч, так что любопытные могут собрать PHP из исходников и попробовать нововведение.
Комментарии RSS по email OK
Было бы просто чудесно. А то в этом плане PHP отстает, вон у руби есть у питона есть (правда на уровне фреймворков), а у PHP нет :(
Что значит на уровне фреймворков? Есть специальные фреймворки для этого, тот же Rack для Ruby, при чем Rails как раз и использует его для middleware, так что это самостоятельные разработки, как раз это и делают с PHP.
То и значит что сам веб сервер не встроен в язык. А Ruby on Rails использует webrick
Действительно заманчиво, а чем это отличается от fastcgi ?
Ekstazi, от phpfastcgi?
ага
Вообще если будет полная поддержка $_SERVER и прочих фишек, по типу отслеживания статуса закрытия соединения пользователе, то тогда все супер и можно смело использовать.
объясните нубу в чем польза. буду благодарен
Это замечательно, но, по-моему, полная родная поддержка Unicode как-то актуальнее, и до той поры авторам PHP отвлекаться не стОит. ;-)
Так phpdaemon же есть? Для PHP весьма неплохая штука.
Ну и собственно, интересно - это сервер рассматривается чисто как сервер для разработки (как Django manage.py runserver) или как продакшн - сервер?
Что у него с обработкой параллельных запросов? Есть такая, если есть, то как реализована (форк/префорк/треды)?
Ekstazi, phpfastcgi — серьёзная штука для боевого внедрения, а это будет для разработки и будет заменять апач. Не все могут пустить phpfastcgi как надо…
MT, сомневаюсь, что её мы увидим в ближайшее время. PHP6 свернули.
Сергей, для разработки. Реализацию можно посмотреть на гитхабе.
Sam, как это PHP6 свернули?
WebRemeslo, его в марте переименовали в 5.4. Юникод, скорее всего, отложат на потом.
Sam: Итого, не свернули, а разбили на части. И это правильно. ;-)
P. S. Необходимость вводить captcha-код повторно после предпросмотра комментария — не самое удачное решение.
MT, его для предпросмотра можно не вводить.