PHP解释器如何与Apache交互?

时间:2016-05-20 15:25:03

标签: php apache http web webserver

我们一直在考虑为我们一直致力于的项目编写一个php解释器。除了解释之外,我一直在尝试 - 但没有成功 - 找到PHP解释器如何与http服务器连接。所以我来找你,o'亲爱的Stack Overflow人员。

我已经读过php监听localhost:9000。不言而喻,我试图连接到那个并没有用。也许网络服务器运行" php file.php"并得到输出?

另外,一个解释.php文件的PHP解释器和解释.pqp文件的解释器(为了参数而称之为pqp)可以在一个网络服务器中共存吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

PHP可以通过某些方式与网络服务器进行交互。一个确实是将PHP文件传输到PHP cli中,并像this question一样提供输出。正如我在那里写的那样:它真的不推荐。

接下来最好的事情是扩展PHP的sapi,它为网络服务器提供了一组连接器。在这种情况下,PHP将充当webserver模块(请参阅apache + mod_php)。这样做的一个缺点是PHP正试图解析它所掌握的一切。

与Web服务器无关的方法是通过公共网关接口连接到PHP,这是一个定义良好的接口,用于各种交互式服务器端组件。然而,它非常缓慢(并且有点不安全)。

最后一步是实施FastCGI。这是对CGI的改进,因为它试图连接到正在运行的进程。在PHP世界中,这是通过php-fpm实现的,默认情况下(默认情况下)会监听9000 / tcp。

相关问题