前言
因为 RHEL8 是18年11月开始测试的,PHP7.3是12月才发布的,所以 RHEL8 和 CentOS8 系统默认的 PHP 也就停留在 PHP7.2 了,我们这里依旧使用 REMI 源来为 RHEL8 和 CentOS8 安装最新版的PHP。
即使用 REMI 软件源让 RHEL8 CentOS8 OracleLinux8 扩展性安装 PHP5.6~最新版PHP(发文是7.3)
安装
其实 RHEL/CentOS 8 开始是支持 DNF 作为包管理器了,但是我相信很多人跟我一样 YUM 的习惯还是改不过来,所以这里依旧沿用 yum 的用法,当然我们也可以使用 dnf。
安装 REMI 源:
yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
yum install dnf-utils -y
yum config-manager --set-enabled remi
定义版本
phpversion=php73
这里可以输入:
php56,php70,php71,php72,php73
等 REMI 支持 PHP 7.4 还还可以输入 php74
安装组件
yum install -y $phpversion-php-fpm $phpversion-php-cli $phpversion-php-bcmath $phpversion-php-gd $phpversion-php-json $phpversion-php-mbstring $phpversion-php-mcrypt $phpversion-php-mysqlnd $phpversion-php-opcache $phpversion-php-pdo $phpversion-php-pecl-crypto $phpversion-php-pecl-mcrypt $phpversion-php-pecl-geoip $phpversion-php-recode $phpversion-php-snmp $phpversion-php-soap $phpversion-php-xml
设置 PHP
安装完成后,编辑 /etc/php/7.3/fpm/php.ini 替换换 ;cgi.fix_pathinfo=1 为 cgi.fix_pathinfo=0 快捷命令:
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/opt/remi/php73/php.ini
重要文件位置:
PHP 位置
路径
备注
安装位置
/opt/remi/php73
php73 取决于不同版本
php.ini
/etc/opt/remi/php73/php.ini
php fpm
/etc/opt/remi/php73/php-fpm.d
扩展配置目录
/etc/opt/remi/php73/php.d
管理 PHP
安装好了先重启一下!
systemctl restart php73-php-fpm
设置开机启动:
systemctl enable php73-php-fpm
更多操作:
systemctl restart php73-php-fpm #重启
systemctl start php73-php-fpm #启动
systemctl stop php73-php-fpm #关闭
systemctl status php73-php-fpm #检查状态
查看 PHP
验证一下是否安装成功:
[[email protected] ~]# php73 -v
PHP 7.3.5 (cli) (built: Apr 30 2019 08:37:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.5, Copyright (c) 1999-2018, by Zend Technologies
更新 PHP
运行下面的命令系统就会更新所有可以更新的软件包括 PHP
yum update
安装更多组件
PHP 安装组件
REMI 有安装非常多的PECL扩展,下面列举常见扩展的安装教程。
提示:记得定义版本
phpversion=php
OpCache
默认已经安装
Swoole 扩展
php54 – 71 可以安装 Swoole 1:
yum install -y $phpversion-php-pecl-swoole
php55 – 72 可以安装 Swoole 2:
yum install -y $phpversion-php-pecl-swoole2
php70 – 73 可以安装 Swoole 4:
yum install -y $phpversion-php-pecl-swoole4
php 70 – 72 可以安装 Swoole Serialize 用于加速序列化
yum install -y $phpversion-php-pecl-swoole-serialize
Redis 扩展
PECL Redis 4,如果扩展支持,推荐使用 4:
yum install -y $phpversion-php-pecl-redis4
PECL Redis:
yum install -y $phpversion-php-pecl-redis
Memcached 扩展
PECL Memcache:
yum install -y $phpversion-php-pecl-memcache
PECL Memcached:
yum install -y $phpversion-php-pecl-memcached
APCu 扩展
yum install -y $phpversion-php-pecl-apcu $phpversion-php-pecl-apcu-bc
XCache 扩展
仅 PHP54、55、56 可以安装
yum install -y $phpversion-php-xcache
上面的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见:
[[email protected] ~]# yum search php73
Updating Subscription Management repositories.
Last metadata expiration check: 0:27:54 ago on Wed 15 May 2019 10:39:52 AM EDT.
============================================================================================= Name Exactly Matched: php73 ==============================================================================================
php73.x86_64 : Package that installs PHP 7.3
php73.x86_64 : Package that installs PHP 7.3
============================================================================================ Name & Summary Matched: php73 =============================================================================================
php73-syspaths.x86_64 : System-wide wrappers for the php73 package
php73-syspaths.x86_64 : System-wide wrappers for the php73 package
php73-scldevel.x86_64 : Package shipping development files for php73
php73-scldevel.x86_64 : Package shipping development files for php73
php73-php-zstd-devel.x86_64 : php73-php-zstd developer files (header)
php73-runtime.x86_64 : Package that handles php73 Software Collection.
php73-runtime.x86_64 : Package that handles php73 Software Collection.
php73-runtime.x86_64 : Package that handles php73 Software Collection.
php73-php-pecl-psr-devel.x86_64 : php73-php-pecl-psr developer files (header)
php73-php-pecl-psr-devel.x86_64 : php73-php-pecl-psr developer files (header)
php73-php-pecl-raphf-devel.x86_64 : php73-php-pecl-raphf developer files (header)
php73-php-pecl-raphf-devel.x86_64 : php73-php-pecl-raphf developer files (header)
php73-php-pecl-propro-devel.x86_64 : php73-php-pecl-propro developer files (header)
php73-php-pecl-yaconf-devel.x86_64 : php73-php-pecl-yaconf developer files (header)
php73-php-pecl-propro-devel.x86_64 : php73-php-pecl-propro developer files (header)
php73-php-pecl-yaconf-devel.x86_64 : php73-php-pecl-yaconf developer files (header)
php73-php-pecl-xmldiff-devel.x86_64 : php73-php-pecl-xmldiff developer files (header)
php73-php-pecl-swoole4-devel.x86_64 : php73-