Twitt
@Twitt

Можно ли на PHP поднять свой HTTP сервер, и надо ли это?

Меня как то начинающий девелопер по Node JS спросил, можно ли на PHP поднять свой сервер, на что я немного смутился и не совсем понял суть вопроса. Я работал всегда в связке PHP + Nginx или PHP + Apache, где второе является веб сервером. Может ли кто-то подсказать, может я что-то не так понял? Почему на ноде подымают свой HTTP сервер, а у PHP все проще, и есть просто Nginx, Apache. (Возможно даже я не прав в этом сравнении), и есть ли возможность у PHP поднять свой веб сервер, и на сколько это надо? Ведь, что Node, что PHP оба серверные языки.
  • Вопрос задан
  • 559 просмотров
Решения вопроса 5
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
во первых - node не язык, а "программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код)", и включает в себя в том числе сервер.
во вторых - php -S localhost:8000 - пых так тоже умеет )
Ответ написан
TheRikipm
@TheRikipm
Backend middle
Можно
https://www.php.net/manual/ru/features.commandline...

Но лучше так не делать
Спойлер
14133944305572.jpg
Ответ написан
Комментировать
riky
@riky
Laravel
можно, например
https://reactphp.org/ - в шапке как раз тот пример
https://www.swoole.co.uk/ - на главной тоже есть пример сервера
Ответ написан
Комментировать
toxicmt
@toxicmt
CTO at hexlet.io
Когда задают этот вопрос, в первую очередь имеют ввиду режим работы FastCGI. При таком подходе, одного Nginx недостаточно (тут нужно понимать про неблокирующую модель работы nginx). Для этого нужно чтобы само приложение стартовало как часть веб-сервера, написанного на самом PHP (именно загружалось в память один раз, а не на каждый запрос!). Такое реализовано в некоторых проектах, но на PHP не прижилось (пока). А вот во всех остальных языках общего назначения, всегда поднимается сервер самого языка.

p.s. Кто-то может сказать "но ведь fastcgi есть, php уже работает с nginx". На самом деле это эмуляция, реального fastcgi там нет и оно невозможно просто так, php не так то легко загнать в эту модель (внутрь языка вшито слишком много всего, что заточено под одноразовый запуск).

p.s.s Встроенный сервер PHP тоже обманка. Он подходит только для девелопмента и там нет загрузки кода в память. Он также читает код с диска на каждый запрос.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы