如何安装PHP环境及相关概念
近期工作需要,项目使用 PHP 开发,本文简单记录一下 PHP 如何通过编译的方式进行安装。
- 操作系统:
CentOS
- PHP版本:
php-8.1.16
安装PHP
首先安装依赖包
1 | yum install libxml2 libxml2-devel openssl openssl-devel \ |
下边的步骤展示安装编译 PHP
1 | # 下载 |
设置环境变量
1 | # /etc/profile 增加如下内容 |
验证
1 | php -v |
安装Composer
1 | php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" |
设置国内源
默认情况下,composer 从国外站点拉内容,平常很容易报错,可以通过设置国内源来避免这个问题。
- 设置全局源
1 | $ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer |
- 为特定项目设置源
如果你只想为特定的项目设置源,你可以在该项目的 composer.json 文件中指定。打开 composer.json 文件并添加或修改 repositories 字段,例如:
1 | { |
常见可用的国内源:
- https://mirrors.aliyun.com/composer/
- http://pgs.mirrors.tuna.tsinghua.edu.cn/composer/
- https://mirrors.cloud.tencent.com/repository/composer/
- https://mirrors.tencent.com/composer/
参考链接:https://getcomposer.org/download/
关于PHP-FPM介绍
PHP-FPM,全称是 PHP FastCGI Process Manager
,PHP FastCGI 进程管理器,用于管理 PHP 进程池的软件,接收 web 服务器的请求。
作用
PHP-FPM 提供了更好的 PHP 进程管理方式,可以有效控制内存和进程、可以平滑重载 PHP 配置。FPM 的出现,是为了很好的管理 php-fastcgi 而实现的一个程序。
PHP FastCGI 是什么
PHP FastCGI 只是一个 CGI 程序,这会解析 PHP 请求,并且返回结果,但不会管理。其实 PHP FastCGI 出现之前有一个 PHP CGI 存在,只是它的执行效率低,因此被 PHP FastCGI 取代。
FastCGI 与 CGI 的区别
当 web 服务分发请求时,通过匹配后缀知道该请求是一个动态的 PHP 请求,会把这个请求转发给 PHP
- 对于CGI:每个请求过来都要创建进程、读取配置、初始化环境、返回数据、退出进程,整体来说效率低下
- FastCGI: 启动时让 master 进程读取配置,然后启动多个 worker 进程来处理请求。当 worker 不够时,master 会通过配置信息动态启动 worker,等空闲时再回收 worker