首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP如何与Apache交互?

PHP如何与Apache交互?
EN

Stack Overflow用户
提问于 2010-05-05 18:35:37
回答 3查看 13.5K关注 0票数 22

我几乎已经完成了在Java下编写HTTP/1.0兼容的web服务器(没有商业用途,这只是为了好玩),基本上我想包括PHP支持。我知道这不是一件容易的事,但我认为这将是一个很好的成就。

所以我想知道PHP到底是如何与Apache web服务器(或者任何其他web服务器)交互的,这样我就可以从中学习并编写我自己的PHP包装器。它不一定非得是mod_php,我并不介意写一个FastCGI包装器--据我所知,它也能够运行PHP。

我认为PHP所需要的只是发送到客户端的输出(这样它就可以解释PHP部分)、来自客户端的完整HTTP请求(这样它就可以提取POST变量等等)和客户端的主机名。然后,您只需将解析后的PHP代码写入输出流。可能会有更多的东西,但本质上这是我认为它是如何工作的。

据我目前所知,apache2handler提供了一个应用程序接口,用来“连接”到Apache。我想看看apache2handler和php5apache2.dll的源代码是个好主意,但在此之前,我想我应该先问一下。

如果谁有更多的信息,经验,或某种规格,这是相关的,然后请让我知道。

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-05 19:58:06

有3种方法可以从Apache调用PHP:

1)作为一个模块??这涉及到将php解释器链接到由the服务器发布的钩子库。

2) CGI - sent服务器为每个请求启动一个解释器实例,并通过标准输入、命令行和环境变量将参数传递给解释器,将标准输出发送到客户端,并将标准错误写入error_log

3) fastCGI -这消除了为每个请求启动新进程的开销-解释器作为守护进程运行

CGI是最简单的实现,但不能很好地扩展/执行,该模块将是目前为止最难的。FastCGI几乎和模块方法一样快。CGI和fastCGI是开放的、文档齐全的API。

还有其他方法可以实现您的目标-例如Quercus

结果表明,C.

票数 30
EN

Stack Overflow用户

发布于 2010-05-05 18:42:45

除了php文件、HTTP请求和客户机主机名之外,还有一些其他信息项通常会传递给PHP以设置$_SERVER超级全局的某些其他元素。链接的文档页面包含通常设置的内容的列表。

票数 1
EN

Stack Overflow用户

发布于 2010-05-05 19:12:46

关键词是CGI

这是一个极其简单的协议,为web服务器服务了很长时间。

这不是PHP与web服务器交互的唯一方式,但它是最常见和最容易实现的方式。

简而言之,您的服务器必须设置一些环境变量,然后调用cgi脚本,而cgi脚本本身就是一个php脚本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2772400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档