PHP生命周期进阶-换个角度看一看

2019-08-06 14:34:02 浏览数 (1)

这篇文章适合有一定经验的PHP开发者阅读啊,没有上下文铺垫

PHP生命周期

PHP-FPM是什么

php-fpm即php-Fastcgi Process Manager. php-fpm是 FastCGI 的实现,并提供了进程管理的功能。 进程包含 master 进程和 worker 进程两种进程。 master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而 worker 进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方。

三种PHP应用的Web模型

实际应用配置时,nginx如何配置fast-cgi模块? 人们常说的nginx反向代理,PHP交由PHP-FPM处理,nginx与PHP-FPM关联的配置如下

代码语言:javascript复制
  location ~ .php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass 127.0.0.1:9000;
            try_files $uri =404;
  }

这种模型中充当WebServer角色的构件不仅仅有nginx,应用本身也包含了一个内建WebServer,不过由于Swoole Http Server不是专业的Http Server,对Http的处理不完善 ,因此仍然需要使用Nginx作为静态资源服务器以及反代,Swoole Http Server仅仅处理PHP相关的Http流量。 Mac环境PHP7.2安装Swool扩展 pecl安装

swoole是pecl的项目,所以使用pecl安装是最简单的方法,推荐第一次接触的先使用pecl安装,在熟悉了swoole之后,再考虑使用编译安装的方式以获取更多进阶功能。

代码语言:javascript复制
pecl install swoole

源码安装基本步骤 1 下载Swool源码包 https://github.com/swoole/swoole-src/releases 使用V3.4.4 2 编译安装

代码语言:javascript复制
cd swoole-src-4.3.4
/usr/local/opt/php@7.2/bin/phpize
./configure --with-php-config=/usr/local/opt/php@7.2/bin/php-config
make install
代码语言:javascript复制
Installing shared extensions: /usr/local/Cellar/php@7.2/7.2.18/pecl/20170718/
Installing header files: /usr/local/Cellar/php@7.2/7.2.18/include/php/

3 验证 查看是否安装成功

代码语言:javascript复制
php -m | grep swoole
> swoole

参考资料

PHP生命周期及fpm(FastCGI进程管理器)的运作方式

Swoole和Swoft的那些事 (Http/Rpc服务篇)


请点击原文连接,获取更好的阅读体验,以及参考资料链接

0 人点赞