相信现在大部分站长为了减少折腾,VPS 上用的环境都是一键安装包,LNMP 或 LAMP(Linux+Nginx(Apache)+MySQL+PHP)。这样虽然很方便,但并不利于学习,如果环境包中的某个组件出现问题,很难自己手动解决。以当前最新的 PHP 7.2 为例,看看如何在 CentOS7 下安装 PHP。

安装 PHP 7.2

安装 EPEL 软件包:
$ sudo yum install epel-release

安装 remi 源:
$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

安装 yum 扩展包:
$ sudo yum install yum-utils

启用 remi 仓库:
$ sudo yum-config-manager --enable remi-php72
$ sudo yum update

安装 PHP7.2
$ sudo yum install php72

安装 php-fpm 和一些其他模块
$ sudo yum install php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache

输入 php72 -v 可查看安装结果。

php-fpm 服务

设置开机自启动
$ sudo systemctl enable php72-php-fpm.service

常用 php-fpm 命令

# 开启服务
$ sudo systemctl start php72-php-fpm.service

# 停止服务
$ sudo systemctl stop php72-php-fpm.service

# 查看状态
$ sudo systemctl status php72-php-fpm.service

通过 egrep 查询 nginx 服务器的用户和用户组:
$ egrep '^(user|group)' /etc/nginx/nginx.conf

结果示例:
user nginx;

编辑 /etc/opt/remi/php72/php-fpm.d/www.conf,修改执行 php-fpm 的权限:
$ sudo vi /etc/opt/remi/php72/php-fpm.d/www.conf

设置用户和用户组为 nginx:
user = nginx
group = nginx

保存并关闭文件,重启 php-fpm 服务:
$ sudo systemctl restart php72-php-fpm.service

路径整理如下:

# php 安装路径
/etc/opt/remi/php72

# nginx 配置文件
/etc/nginx/nginx.conf

# nginx 默认项目路径
/usr/share/nginx/html