Как вы создаете собственный интерфейс FastCGI в PHP?
Я хотел бы сделать что-то похожее на то, что они делают в Perl , но на PHP. Возможно ли это? Было бы быстрее?
(То есть, я хотел бы иметь возможность загружать инфраструктуру веб-приложения один раз в память, а затем просто использовать FastCGI метод, который я предоставляю для каждого запроса. Поэтому не более общая предварительная загрузка PHP-интерпретатора, который происходит в «настройка по умолчанию PHP FastCGI».)
ура!
( Edit : Разве это не Монгрель и RoR?)
Хорошо, я сделал схему freakin'а сейчас 🙂
Возможно, я ошибаюсь (это поздно), но разве вы просто не пытаетесь сделать какую-то форму кеширования? Несмотря на это, интерфейс FastCGI выглядит довольно четко. Таким образом, вы должны делать все, что хотите, довольно легко.
Вы не можете сделать это в PHP для PHP, вы можете сделать это в C для cgi-sapi, но вы, вероятно, захотите использовать APC вместо этого.
Если вы действительно настроены на то, чтобы это было на PHP, вы могли бы теоретически создать php-модуль в c и сформировать мост для fastCGI в c .
После чего вы догадаетесь, вы запустили бы скрипт PHP, получающий fastCGI как отдельную программу, выполняющую цикл и принимающий запросы. В котором вы используете PHP как «постоянную виртуальную машину» (не могли найти лучшего термина), который связывается через fastCGI.
Я согласен с тем, что перезагрузка нескольких ваших иждивенцев / и т. Д. – это очень легко преодоление производительности. Тем не менее, это, возможно, намеренный дизайн, в упрощении цикла разработки PHP. Подумайте о том, что глобальные переменные беспорядок, которые неопытные пользователи могли бы сделать, в постоянной среде. Бросьте то, что большинство настроек fastCGI инициализируют несколько копий / потоков в соответствии с нагрузкой. Это небольшая банка червей. Запуск нового нового слайда для каждого запроса упрощает его.
Тем не менее, честно говоря … если у вас есть эта проблема в производительности, вы можете также рассмотреть fastCGI C ++ / node.js, как альтернативы …. Разработавшись для JavaScript / PHP / C ++, ваша идея определенно возможна … Однако это действительно сводится к экономическим выгодам … Стоит ли это усилий ?, и т. д.
PS: Вы также можете рассмотреть возможность компиляции ваших сайтов PHP через хип-хоп.