3、Yum方法搭建最新环境(CentOS+Nginx+PHP+Mysql)之PHP
第三步是安装PHP,安装方法大致与Nginx类似,这里添加的源为REMI源,Remi repository是包含最新版本PHP和MySQL包的Linux源,由Remi提供维护。有个这个源之后,使用YUM安装或更新PHP、MySQL就能获取到比较新的版本了。
1、添加REMI源
# CentOS 8 / RHEL 8
命令:yum install http://rpms.famillecollet.com/enterprise/remi-release-8.rpm
(如果是CentOS 6或CentOS 7,可以使用remi-release-6.rpm或remi-release-7.rpm)
2、如果访问REMI速度较慢,可以选择阿里源
2.1 备份源文件
命令:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2.2 替换为阿里源
命令:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
3、安装PHP(包括PHP扩展)
命令:yum install php php-fpm php-cli php-common php-devel php-gd php-pdo php-mysqlnd php-mbstring php-bcmath
3.1 看已安装的PHP版本
命令:php -v
输出:PHP 7.2.11 (cli) (built: Oct 9 2018 15:09:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
3.2、查看对应的扩展是否安装
命令:php -m
输出如下图
4 配置PHP和Nginx
4.1 配置php
命令:vi /etc/php.ini(如果不知道php.ini在哪里,可以使用命令whereis php.ini查找)
找到cgi.fix_pathinfo配置项,这一项默认被注释并且值为1,根据官方文档的说明,这里为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入的攻击,所以此项应该去掉注释并设置为0
4.2 配置php-fpm
命令:vi /etc/php-fpm.d/www.conf (同样如果不知道位置,可以使用命令whereis php-fpm)
修改:user = nginx
group = nginx
listen = /run/php-fpm/www.sock
4.3 配置nginx
命令:vi /etc/nginx/conf.d/default.conf
添加:location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
说明:这里选择的是nginx通过socket连接php,如果想要通过tcp:9000进行连接,那么www.conf中listen=127.0.0.1:9000,nginx.conf中fastcgi_pass 127.0.0.1:9000;即可
5 测试是否成功
切换到nginx的html根目录
命令:cd /usr/share/nginx/html
编辑info.php
命令:vi info.php
输入:<?php phpinfo(); ?>
浏览器中访问:http://{ip}/info.php
如果正常显示phpinfo页面,表示nginx和php配置正常
如果失败了,那么就要根据日志查找原因:
日志目录:/var/log/nginx/error.log
快速连接: