CentOs Stream 9: 搭建PHP环境报错: No match for argument: php-imap 和 No match for argument: php-xmlrpc

教程介绍了如何在CentOsStream9系统上安装和启用Remi源,以安装最新版本的PHP,包括启用源、重置模块和安装指定版本的PHP及其相关扩展,特别提到了php-mysqlnd模块的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本来不想写教程的,但是看了内上祸害人的教程真的不少。

大都是要降PHP7.X的版本。

其实没有必要,我们要搞就搞最新的:

以下教程保对 CentOs Stream 9 操作,如果带有其它操作系统,可能是我愿意多写一点。

其它的系统自己测试:

1、安装扩展源(根据自己系统选择):

--------- On RHEL, CentOS Stream, Rocky & Alma Linux 9 Releases --------- 
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm  
# yum install http://rpms.remirepo.net/enterprise/remi-release-9.rpm   
# yum update

--------- On RHEL, CentOS, Rocky & Alma Linux 8 Releases --------- 
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  
# yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm   
# yum update

--------- On RHEL/CentOS 7 --------- 
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm  
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm   
# yum update

2、启用Remi ,默认情况下为 enabled=0。

以下是临时开启,但是我不建议用。

# yum --enablerepo=remi install package

建议修改源配置:

# vim  /etc/yum.repos.d/remi.repo

把[remi]段中的 enabled=0 修改为 enabled=1,看下图。

 然后通过以下指令查看启用情况:

# yum repolist

 3、查看当前系统支持的最新PHP版本:

# yum list php*

找到类似的地方:PHP 8.X ,我当前的系统是 php82

所以,执行:

# yum module reset php

最后,根据自己的情况,在下面找一个自己喜欢的版本来升级安装就可以了。

# yum module install php:remi-8.2  [PHP 8.2 version]
# yum module install php:remi-8.1  [PHP 8.1 version]
# yum module install php:remi-8.0  [PHP 8.0 version]
# yum module install php:remi-7.4  [PHP 7.4 version]

我自己的是  php82,所以我选择安装。

# yum module install php:remi-8.2

然后,就是一套依赖文件了。

# yum -y install httpd php mysql mysql-server php-mysq php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc pcre-devel mod_ssl openssl

如果报错 php-mysq 找不到或者匹配不到。

那就使用下面这套。

# yum -y install httpd php mysql mysql-server php-mysqlnd php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc pcre-devel mod_ssl openssl

是因为php-mysq已经改名了。

其实这个很多教程中都有写到。可以使用指令 yum search php-mysq 查看,就可以看到原因。

[root@localhost admin]# yum search php-mysq
Last metadata expiration check: 0:14:37 ago on Sat 08 Apr 2023 02:36:04 PM CST.
======================================================================================================== Name Matched: php-mysq =========================================================================================================
php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php74-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php80-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php81-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php82-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
[root@localhost admin]# 

结语:这样,你再看看。

当初你遇到的问题还会报错吗?

No match for argument: php-imap
No match for argument: php-xmlrpc

转载请注意出处,谢谢!

如果不对的地方,请指正。

<think>嗯,用户遇到了在麒麟V10系统中安装epel-release时出现“No match for argument”错误的问题。首先,我需要回忆一下麒麟系统的基础知识。麒麟V10是基于CentOS或者Ubuntu的吗?好像国内的一些Linux发行版,比如麒麟,可能是基于CentOS的,但可能有自己的软件源配置。 用户提到的错误信息类似于之前遇到的CentOS系统中找不到epel-release的情况。参考之前的引用资料,CentOS 8用户需要手动添加EPEL仓库,因为默认仓库可能没有epel-release包。而麒麟V10可能也有类似的问题,尤其是如果它基于较新的CentOS版本,但软件源配置不同。 接下来,可能的解决方案包括手动下载EPEL的RPM包进行安装。例如,对于CentOS 8,可以到Fedora的EPEL仓库找到对应的版本。但麒麟V10的架构版本可能需要特定的EPEL版本。需要确认麒麟V10的版本号,比如基于CentOS 7还是8?如果是基于CentOS 8,可能需要安装epel-release的EL8版本。 另外,用户可能需要检查系统架构,确保下载的RPM包与系统架构(x86_64、aarch64等)匹配。如果手动安装后仍然有问题,可能需要手动配置EPEL仓库的.repo文件,确保仓库地址正确。 另外,用户可能还需要更新系统缓存,使用yum clean allyum makecache命令。如果系统有代理或者网络问题,也需要检查网络连接是否正常,是否能够访问EPEL的镜像站点。 还有可能麒麟V10的默认仓库配置有问题,需要检查/etc/yum.repos.d/目录下的repo文件,看看是否有被禁用的仓库或者错误的配置。有时候第三方仓库的优先级设置也可能导致问题,需要调整优先级或者暂时禁用其他仓库。 如果手动安装epel-release成功后,仍然无法安装其他软件包,可能需要启用其他额外的仓库,比如PowerTools或者CRB仓库,这取决于具体的依赖关系。此外,用户可能需要确认麒麟V10是否完全兼容CentOS的软件源,或者是否有自己的扩展仓库需要启用。 总结下来,解决方案的步骤可能包括: 1. 手动下载并安装适用于麒麟V10的EPEL RPM包。 2. 检查系统架构版本,确保RPM包兼容。 3. 手动配置EPEL仓库文件。 4. 更新YUM缓存并重新尝试安装。 5. 检查网络连接仓库配置,排除其他干扰因素。 6. 如果问题依旧,可能需要联系麒麟的官方支持,获取特定的仓库配置。 需要提醒用户注意命令中的版本号架构是否正确,以及备份系统配置,避免操作失误导致系统问题。</think>[解决方案] ### 麒麟V10系统安装EPEL仓库报错"No match for argument"的解决方法 #### 1. 确认系统架构版本 麒麟V10通常基于CentOS或OpenEuler开发,请先执行以下命令确认系统信息: ```bash cat /etc/os-release uname -m # 查看架构(x86_64/aarch64) ``` #### 2. 手动下载EPEL RPM包安装 根据系统架构选择对应安装包: - **x86_64架构**: ```bash wget https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm sudo rpm -ivh epel-release-latest-8.noarch.rpm ``` - **aarch64架构**: ```bash wget https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm sudo rpm -ivh epel-release-latest-8.noarch.rpm --nodeps # 强制安装[^2] ``` #### 3. 手动配置EPEL仓库文件 如果直接安装失败,可手动创建仓库配置: ```bash sudo tee /etc/yum.repos.d/epel.repo <<-&#39;EOF&#39; [epel] name=Extra Packages for Enterprise Linux 8 - $basearch baseurl=https://mirrors.aliyun.com/epel/8/Everything/$basearch enabled=1 gpgcheck=0 EOF ``` #### 4. 更新缓存并验证 ```bash sudo yum clean all sudo yum makecache sudo yum install epel-release # 再次尝试安装 ``` #### 5. 特殊场景处理 若仍报错,可能需要启用**CodeReady Builder**仓库: ```bash sudo dnf config-manager --set-enabled crb # CentOS兼容系统适用[^1] ``` #### 6. 网络排查 检查网络连通性: ```bash curl -I https://mirrors.aliyun.com # 验证镜像站可达性 ping mirrors.aliyun.com ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值