如何在CentOS 7/RHEL 7上安装PHP 7.2
如何在CentOS 7服务器上安装PHP 7.2?
如何与Nginx Web服务器一起在RHEL 7服务器上设置和安装PHP 7.2?
如何使用在CentOS/Red Hat Enterprise Linux版本7上运行的Nginx服务器配置PHP-fpm版本7.2?
PHP是PHP:超文本预处理程序的首字母缩写。
它是服务器端脚本。
可以用PHP编写动态生成的网页,也可以将PHP直接嵌入HTML。
PHP为多个商业和非商业数据库管理系统提供了内置的数据库集成。
默认情况下,CentOS 7/RHEL 7仅随附PHP版本5.4。
本教程显示如何使用yum命令在CentOS 7或RHEL 7服务器上安装PHP 7.2。
安装PHP版本7.2
在CentOS 7或RHEL 7上安装PHP 7.2的过程如下:
- 打开EPEL存储库,执行:
sudo yum -y install epel-release
- 打开Remi repo,即remi-php72:
sudo yum-config-manager --enable remi-php72
- 刷新存储库:
sudo yum update
- 安装7.2版本的php,运行:
sudo yum install php
如何在CentOS 7上安装PHP 7.2
通过执行以下命令在CentOS和RHEL 7.x服务器上打开EPEL仓库:
$ sudo yum install epel-release
在Centos 7上安装epel-release软件包
也打开remi repo:
$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
也安装yum-utils软件包:
$ sudo yum install yum-utils
启用remi repo,运行:
$ sudo yum-config-manager --enable remi-php72 $ sudo yum update
使用更多命令/grep命令/egrep命令搜索PHP 7.2软件包和模块:
$ sudo yum search php72 | more $ sudo yum search php72 | egrep 'fpm|gd|mysql|memcache'
输出示例
php72-php-fpm.x86_64 : PHP FastCGI Process Manager php72-php-gd.x86_64 : A module for PHP applications for using the gd graphics php72-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL php72-php-pecl-mysql.x86_64 : MySQL database access functions php72-php-pecl-mysql-xdevapi.x86_64 : MySQL database access functions
最后在CentOS 7.2上安装php 7.2:
$ sudo yum install php72
您必须安装名为php72-php-fpm的PHP FastCGI Process Manager以及常用模块:
$ 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
如何在RHEL 7上安装PHP 7.2
使用yum命令在RHEL 7上启用和安装PHP 7.2的步骤如下:
$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm $ sudo yum install yum-utils $ sudo subscription-manager repos --enable=rhel-7-server-optional-rpms $ sudo yum-config-manager --enable remi-php72 $ sudo yum update $ sudo yum search php72 | more $ sudo yum install php72 php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache
验证
检查PHP版本:
$ php --version
PHP 7.2.1 (cli) (built: Jan 3 2016 07:51:38) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.2.1, Copyright (c) 1999-2016, by Zend Technologies
列出已安装的模块
$ php72 --modules
为Nginx开启PHP fpm
使用systemctl命令:
$ sudo systemctl enable php72-php-fpm.service
输出示例:
Created symlink from /etc/systemd/system/multi-user.target.wants/php72-php-fpm.service to /usr/lib/systemd/system/php72-php-fpm.service.
控制PHP fpm的命令:
启动PHP fpm服务
$ sudo systemctl start php72-php-fpm.service
停止PHP fpm服务
$ sudo systemctl stop php72-php-fpm.service
重新启动PHP fpm服务
$ sudo systemctl restart php72-php-fpm.service
获取PHP fpm服务的状态
$ sudo systemctl status php72-php-fpm.service
配置Nginx以与PHP 7.2一起使用
确保在CentOS 7或RHEL 7上安装了最新版本的Nginx服务器。
使用egrep命令找出nginx服务器的用户名和组名。
$ egrep '^(user|group)' /etc/nginx/nginx.conf
输出示例:
user nginx;
编辑vi /etc/opt/remi/php72/php-fpm.d/www.conf:
$ 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
更新您的Nginx配置
$ sudo vi /etc/nginx/conf.d/default.conf
在服务器部分中进行如下编辑/添加:
## enable php support ## location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
保存并关闭文件。
重新启动Nginx服务器:
$ sudo systemctl restart nginx
在/usr/share/nginx/html /中创建一个名为foo.php的测试脚本
$ sudo vi /usr/share/nginx/html/foo.php
追加以下代码:
<?php // test script for CentOS/RHEL 7+PHP 7.2+Nginx phpinfo(); ?>
保存并关闭文件。
触发浏览器并输入url:
http://10.21.136.134/foo.php