我已经开始在Java下开发HTTP / 1.0 Web服务器(不用于商业目的,只是出于娱乐目的)。希望这会增加我的信心。最初,我只是想包括PHP支持(仅rest API)。我几乎完成了请求解析,现在我坚持执行请求。这就是为什么我想知道像Apache这样的Web服务器实际上是如何与PHP通信的。如果您需要分享您的经验和知识,这将不胜感激。
预先感谢
答案 0 :(得分:0)
了解事物是如何工作的,这将很高兴,它将帮助您了解开发和服务器的深入方面。
关于您的问题,APACHE知道以.php
结尾的文件必须发送到PHP解释器才能执行并提供结果,请检查请求的内容。
第1步
用户在浏览器中输入https://stackoverflow.com
,然后点击/点击“输入”。
第2步 浏览器通过Internet将页面请求发送到Web服务器。
第3步
Web服务器获取请求并分析请求信息。 Apache意识到我们没有指定文件,因此它寻找目录索引并找到index.php
。
第4步
由于Apache知道将以.php
文件扩展名结尾的文件发送到PHP解释器,因此它要求PHP执行该文件。
在httpd.conf文件中指定了对Apache的了解,它告诉Apache找到.php
文件时的确切操作。
第5步
PHP Interpreter正在执行请求中index.php
文件中包含的代码。在此步骤中,PHP可能会与数据库,文件系统进行交互或进行外部API调用。
步骤6
PHP Interpreter完成执行index.php
文件后,它将输出发送回Apache。请注意,输出将为HTML。
步骤7
Apache接收来自PHP的输出,并将其通过Internet发送回用户的Web浏览器。这称为response
。
步骤8 用户的Web浏览器从服务器接收响应,然后在计算机或设备上呈现该网页。
希望这将阐明您应该关注的地方,请访问https://httpd.apache.org/docs/2.4/,并检查Apache使用哪些模块来查找PHP解释器,还请注意,您需要单独安装PHP才能实现这一点。