关于PHP

PHP概述

PHP即Hypertext Preprocessor,超文本预处理器
PHP是在服务器端执行的脚本语言,主要用于WEB开发领域。

与apache、mysql的关系

apache是服务器基础、php是脚本解释,如果不用php那么apache只能实现静态网页的访问,由php代码调用mysql接口,读写数据。
通过配置apache,使php成为apache的一个子模块,进而apache能够识别php代码。

WEB请求过程

如图

图解

1.浏览器与nginx
浏览器与nginx通过http协议交互

2.nginx与PHP-FPM
nginx与php-fpm之间用过FastCgi协议进行通信,而这种通信是基于Unix domain socket或TCPconnection提供的服务之上的。
nginx向php-fpm发送环境变量和HTTP数据

关于php-fpm

实现了FastCgi协议,集成了PHP解析器
PHP-FPM由一个主进程和多个子进程组成,主进程负责与web服务器(nginx)通信,接受HTTP请求,然后分配给子进程处理。
子进程主要执行PHP语言,处理完毕后返回给WEB服务器(nginx)。
具体操作:php.ini是php-fpm的配置文件。

关于SAPI Server Application Programming Interface 服务端应用程序编程接口

SAPI是应用层(apache、nginx等)和PHP交互数据的入口

1)apache2handler和apache2filter,这是提供给apache mod_php的sapi;

2)cgi,webserver去fork出cgi进程使用的sapi;

3)fastcgi ,webserver采用网络通信或者网络IPC和php交换数据的sapi;

4)cli,命令行方式运行php脚本的sapi。

猜你喜欢

转载自www.cnblogs.com/sawyer7cd/p/12179646.html
今日推荐