WAMP、LAMP里,A是Apache,P是PHP,PHP在Apache下一般是以服务器模块方式安装,这些模块在Apache体系结构里属于可选功能层,Apache用apr_proc_create()函数为每个模块创建一个子进程,每个进程的内存空间独立,可以防止互相干扰。
WNMP、LNMP里的N是Nginx,Nginx主要通过FastCGI接口调用PHP之类的外部程序。
FastCGI是一个编程接口,可以将HTTP服务器和脚本解析服务器分开。Apache、Nginx、Lighttpd都实现了FastCGI接口。
如果想找个实现FastCGI接口的例子,推荐看Nginx的源码(ngx_http_fastcgi_module.c)。
Apache源码里跟FastCGI接口有关的大致是这几个文件:
fcgistarter.c
fcgi_protocol.h
mod_proxy_fcgi.c
更多内容可以搜“Apache源码分析”、“Nginx源码分析”、“FastCGI”。
nginx apahce 都是不能直接解析php文件的,通过本机的9000端口来执行PHP文件,
当http拿到本地文件并且后缀为.php时,将此文件返还给php,让php来解释,再执行返回,GET和POST是php中的常量,直接就能拿到。
--你服务器开发 了能给我看看么?
能用c语言来写web服务器,确实强悍,这类文献中文版的相对应该比较少,所以你用google一下英文文献,php的代码是开源的,你可以研究一下它的源代码。
强!我比较懒,用现成的WAMP。