一、安装
[root@hollowman html]# dnf install php
上次元数据过期检查:2:01:15 前,执行于 2021年06月02日 星期三 08时12分53秒。
依赖关系解决。
==================================================================================================================================================================================================================
软件包 架构 版本 仓库 大小
==================================================================================================================================================================================================================
安装:
php x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 appstream 1.5 M
安装依赖关系:
nginx-filesystem noarch 1:1.14.1-9.module_el8.0.0+184+e34fea82 appstream 24 k
php-cli x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 appstream 3.1 M
php-common x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 appstream 661 k
安装弱的依赖:
php-fpm x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 appstream 1.6 M
启用模块流:
php 7.2
事务概要
==================================================================================================================================================================================================================
安装 5 软件包
可以发现,它将提示安装php7.2。而查看软件仓库将发现有更高版本7.4,这是为什么呢?原来通过dnf(yum)方式安装软件时,软件仓库中虽然有多个版本,但往往只会默认安装其认为最稳定的版本(php7.2),可通过dnf module list php
命令来查看。如下,发现软件仓库中有php7.2,php7.3和php7.4,但默认选择了php7.2,其中:[d]表示默认的意思。
[root@hollowman html]# dnf module list php
上次元数据过期检查:2:03:30 前,执行于 2021年06月02日 星期三 08时12分53秒。
CentOS Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language
提示:[d]默认,[e]已启用,[x]已禁用,[i]已安装
可以通过dnf module enable 程序:版本/模块
来手动启用高版本的方式来安装高版本。
[root@hollowman html]# dnf module enable php:7.4
再次查看,发现7.4后面多了[e]也就是起用此版本来安装的意思。
[root@hollowman html]# dnf module list php
上次元数据过期检查:2:07:41 前,执行于 2021年06月02日 星期三 08时12分53秒。
CentOS Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 [e] common [d], devel, minimal PHP scripting language
提示:[d]默认,[e]已启用,[x]已禁用,[i]已安装
后续再用dnf install php
进行安装,就会默认安装php7.4了。
[root@hollowman yum.repos.d]# dnf install php
上次元数据过期检查:4:21:41 前,执行于 2021年06月02日 星期三 08时12分53秒。
依赖关系解决。
==================================================================================================================================================================================================================
软件包 架构 版本 仓库 大小
==================================================================================================================================================================================================================
安装:
php x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a appstream 1.5 M
安装依赖关系:
nginx-filesystem noarch 1:1.14.1-9.module_el8.0.0+184+e34fea82 appstream 24 k
php-common x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a appstream 696 k
安装弱的依赖:
php-cli x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a appstream 3.1 M
php-fpm x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a appstream 1.6 M
php-json x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a appstream 74 k
php-mbstring x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a appstream 484 k
php-opcache x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a appstream 267 k
php-pdo x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a appstream 123 k
php-xml x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a appstream 174 k
事务概要
==================================================================================================================================================================================================================
安装 10 软件包
总下载:8.0 M
二、添加EPEL
和Remi
软件仓库。
将他们写到笔记中的目的是为了今后能提醒自己,还有2个软件仓库可以实现更多软件或者更新软件的安装。
1.EPEL
EPEL( Extra Packages for Enterprise Linux ) 由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。
安装EPEL:dnf install epel-release
。安装EPEL后,在/etc/yum.repos.d目录下会多出一些以epel开头的源,这些源中的软件较CentOS官方源中的软件全且新。
2.Remi
Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护。也就是说Remi只是专门维护php和mysql,由于其针对性强,其版本往往保持着最新状态。
Remi官方网站:http://rpms.remirepo.net/
安装Remi:dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
。安装Remi后,在/etc/yum.repos.d目录下会多出一些以Remi开头的源。
3.卸载EPEL
和Remi
可以通过dnf remove
命令来卸载这两个源,这里有意思的是:卸载EPEL时,会连同Remi一并卸载。
[root@hollowman yum.repos.d]# dnf remove epel-release
依赖关系解决。
==================================================================================================================================================================================================================
软件包 架构 版本 仓库 大小
==================================================================================================================================================================================================================
移除:
epel-release noarch 8-8.el8 @extras 32 k
移除依赖的软件包:
remi-release noarch 8.3-1.el8.remi @@commandline 20 k
事务概要
==================================================================================================================================================================================================================
移除 2 软件包
将会释放空间:52 k
附:
ubuntu20.04通过apt安装php较为简单,默认安装最新版php7.4。
apt install php
三、配置
建议安装的常用模块:
php-cli #默认安装
php-fpm #默认安装
php-xml #默认安装,xml模块
php-gd #验证码用得上
php-mysqlnd #php的mysql模块
附:
ubuntu20.04系统php常用模块(以php7.4为例):
libapache2-mod-php7.4 - server-side, HTML-embedded scripting language (Apache 2 module) #默认已安装
php7.4-cli - command-line interpreter for the PHP scripting language #默认已安装
php7.4-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php-pear - PEAR Base System
php7.4-gd - GD module for PHP
php7.4-xml - DOM, SimpleXML, XML, and XSL module for PHP
php7.4-mysql - MySQL module for PHP
关于php-cli和php-fpm的关系参考文章:https://segmentfault.com/q/1010000004664671