Package ‘oniguruma‘, required by ‘virtual:world‘, not found

14 篇文章 0 订阅
文章详细描述了在RockyLinux9.1环境下,使用PHP8.0.26编译时遇到的问题,包括openssl版本不兼容和缺少oniguruma-devel开发包。解决方案包括手动下载低版本openssl并编译,以及从外部源下载并安装oniguruma-develRPM包来解决编译错误。
摘要由CSDN通过智能技术生成
一、操作系统环境

OS版本信息:Rocky Linux 9.1
PHP版本:8.0.26
安装的依赖:

dnf -y install libXpm-devel libXext-devel  gmp gmp-devel libicu* icu*  net-snmp-devel libpng-devel libjpeg-devel  freetype-devel  libxslt-devel sqlite-devel  autoconf libwebp-devel gd-devel
二、PHP的编译

1、编译参数

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --disable-debug --disable-phpdbg \
--with-bz2 --enable-exif --with-freetype --enable-fpm  --enable-opcache --enable-pcntl --with-gmp --enable-mbstring \
--enable-soap --enable-calendar --enable-bcmath  --enable-ftp --enable-intl --with-jpeg --enable-shmop --with-openssl \
--with-curl --enable-gd --with-gettext=/usr --with-xpm --with-mhash  --enable-sockets --with-zlib \
--enable-mysqlnd --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql

备注: rockylinux9.1 默认安装的openssl版本是 3.0.1 ,用这个版本php编译加上--with-openssl参数后,make的时候会报错,所以建议手动安装一个低版本的openssl,用这个地址 https://www.openssl.org/source/openssl-1.1.1t.tar.gz 下载编译openssl就可以。

2、报错信息
在这里插入图片描述

这个是由于编译的时候 --enable-mbstring 这个参数导致的,解决办法,需要安装 oniguruma-devel 开发包

[root@localhost php-8.0.26]# dnf -y install oniguruma-devel    #安装开发包
Last metadata expiration check: 0:24:41 ago on Fri Feb 17 09:27:40 2023.
No match for argument: oniguruma-devel
Error: Unable to find a match: oniguruma-devel

[root@localhost php-8.0.26]# dnf search oniguruma-devel   #搜索开发包,但是没有找到
Last metadata expiration check: 0:24:47 ago on Fri Feb 17 09:27:40 2023.
No matches found.
[root@localhost php-8.0.26]# 

三、处理报错信息

1、 访问 https://pkgs.org/ ,搜索 oniguruma-devel 关键词,然后找对应操作系统版本的开发包。
在这里插入图片描述

备注: 在搜索关键词的时候可能需要认证,按照上面的提示认证即可。
在这里插入图片描述

2、找到对应的开发包(根据自己的操作系统找对应的开发包)以后,点击,进入开发包的下载页面。
例如:找到的开发包是 oniguruma-devel-6.9.6-1.el9.5.x86_64.rpm ,点击 oniguruma-devel-6.9.6-1.el9.5.x86_64.rpm ,就可以进入这个开发包的下载页面,进入这个页面后也能需要认证。
在这里插入图片描述

3、找对开发包的二进制包的下载地址,在服务器上下载完成后,用 dnf -y isntall 包名 命令安装。
在这里插入图片描述
4、服务器上下载开发包

[root@localhost ~]# wget https://dl.rockylinux.org/pub/rocky/9/devel/x86_64/os/Packages/o/oniguruma-devel-6.9.6-1.el9.5.x86_64.rpm

在这里插入图片描述
5、本地安装开发包

[root@localhost ~]# dnf -y install oniguruma-devel-6.9.6-1.el9.5.x86_64.rpm

在这里插入图片描述
6、重新编译php,错误信息就没有了
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值