Я почти закончил писать HTTP/1.0-совместимый веб-сервер под Java (без коммерческого использования как такового, это просто для удовольствия), и в основном я хочу включить поддержку PHP. Я понимаю, что это совсем непростая задача, но я думаю, что это будет приятное достижение.
Итак, я хочу знать, как PHP точно взаимодействует с веб-сервером Apache (или любым другим веб-сервером), поэтому я могу учиться на нем и писать свою собственную PHP-оболочку. Это не обязательно должно быть mod_php, я не против писать обертку FastCGI, которая, насколько мне известно, также способна запускать PHP.
Я бы подумал, что все, что нужно PHP, - это вывод, который поступает на клиентский компьютер (чтобы он мог интерпретировать части PHP), полный HTTP-запрос от клиента (чтобы он мог извлекать переменные POST и т.д.), а клиентский хост имя. И тогда вы просто берете проанализированный PHP-код и записываете его в выходной поток. Вероятно, будет больше вещей, но по существу, как бы я думал, что это работает.
Из того, что я собрал до сих пор, apache2handler предоставляет API, который PHP использует для подключения к Apache. Я предполагаю, что это идея взглянуть на исходный код для apache2handler и php5apache2.dll или так, но прежде чем я это сделаю, я подумал, что сначала попрошу SO.
Если у кого-то есть дополнительная информация, опыт или какая-то спецификация, которая имеет отношение к этому, пожалуйста, дайте мне знать.
Спасибо заранее!