我用C编写了一个Web服务器,我想在服务器上添加一些脚本语言支持,如(PHP,...)。
我如何与PHP和其他脚本语言进行交互?
如何发送请求并获得回复?
是否有关于Web服务器开发或Web服务器架构的文档或指南?
答案 0 :(得分:1)
首先想到的是使用CGI或FastCGI(参见http://en.wikipedia.org/wiki/FastCGI)。例如,nginx(一种用C编写的流行Web服务器)也支持PHP。
添加对FastCGI的支持然后依赖PHP-FPM(PHP FastCGI实现)等软件而不是编写自己的PHP模块要快得多。但是,您必须运行额外的后台进程,侦听自己的UNIX套接字或TCP端口。
另一种可能性是在HTTP请求时对相应的语言(例如CLI PHP)执行CLI处理程序,但我怀疑性能会低得多。
例如,用户从您的Web服务器请求/something.php?query=parameter。您的Web服务器在指定的文件夹(您的Web服务器配置文件)中查找something.php文件,然后使用PHP CLI执行(解释)它,等待响应并将该响应传递回Web用户。