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

输出如下图

3、Yum方法搭建最新环境(CentOS+Nginx+PHP+Mysql)之PHP

 

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配置正常

3、Yum方法搭建最新环境(CentOS+Nginx+PHP+Mysql)之PHP
配置成功

如果失败了,那么就要根据日志查找原因:

日志目录:/var/log/nginx/error.log

 

 

快速连接:

1、Yum方法搭建最新环境(CentOS+Nginx+PHP+Mysql)之CentOS

2、Yum方法搭建最新环境(CentOS+Nginx+PHP+Mysql)之Nginx