php是为web而生的一门后端语言,php仅仅是一门后端语言,它就必须借助于web服务器,才能提供web功能。当然其他的后端语言也是如此。
常见的web服务器有以下几种:
- apache
- nginx
- IIS
- lighttpd
- tomcat
与php相关联起来用的最多的就是Apache和Nginx了。
我们先举例用apache当作web服务器,来说明一次完整的php访问的情况:
图片中就很好的解释了php与Apache结合mysql数据库的一次完成的web访问流程图
那Apache又是如何将信息给php的呢?
SAPI
就是这样的一个中间过程,SAPI提供了一个和外部通信的接口,有点类似于socket
,使得PHP可以和其他应用进行交互数据(apache,nginx,cli等)
apache调用php执行的过程如下:
apache -> httpd -> php5_module -> sapi -> php
类似的有 mod_php 和 mod_fastcgi,其流程如下两图
php-fpm是专门来辅助mode_fastcgi
模式的
PHP中,使用 fastcgi_finish_request() 可以提高页面的相应速度
相关配置参考: https://blog.csdn.net/QFire/article/details/78680717?locationNum=1&fps=1