编译安装php7缺少组件oniguruma

本文记录了解决在编译安装PHP7时遇到的Oniguruma组件缺失问题的过程,通过安装Oniguruma及其开发版本,成功克服了这一难题。

编译安装php7提示缺少组件oniguruma, 但安装完这个组件还是提示缺少这个组件,又安装了oniguruma-devel,然后可以了。

### 准备工作 为了在 CentOS 7 上从源码编译安装 PHP 8.4,需要先更新系统的软件包管理器以及安装必要的依赖库。考虑到 CentOS 7 默认的 GCC 版本可能过低,影响编译过程的成功率。 ```bash sudo yum update -y sudo yum install -y epel-release sudo yum groupinstall "Development Tools" -y sudo yum install -y centos-release-scl ``` 这些命令会确保开发工具链是最新的,并且安装了 Software Collections (SCL),这有助于解决因默认 GCC 版本较低而引起的编译问题[^3]。 ### 安装所需依赖项 接着,需安装一系列用于构建 PHP 的依赖库: ```bash sudo yum install -y \ httpd-devel \ libxml2-devel \ openssl-devel \ curl-devel \ libjpeg-turbo-devel \ libpng-devel \ freetype-devel \ gmp-devel \ bzip2-devel \ sqlite-devel \ oniguruma-devel \ readline-devel \ libzip-devel \ re2c \ bison \ autoconf \ automake \ libtool-ltdl-devel ``` 上述命令涵盖了大部分常见的扩展需求及其对应的开发库文件[^1]。 ### 获取 PHP 源代码 前往官方下载页面获取最新稳定版的 PHP 8.4 源码压缩包。假设选择了 `php-8.4.x.tar.gz` 文件作为目标版本,则可以通过如下方式下载并解压该档案: ```bash cd ~/ wget https://www.php.net/distributions/php-8.4.x.tar.gz tar zxvf php-8.4.x.tar.gz cd ~/php-8.4.x ``` 注意替换实际发布的具体版本号来匹配当前最新的发布情况[^2]。 ### 配置与编译 配置脚本允许自定义安装选项,在此阶段可以根据个人偏好调整参数设置。下面是一个基本的例子: ```bash ./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/lib \ --enable-mbstring \ --enable-zip \ --with-curl \ --with-png \ --with-freetype \ --with-gettext \ --with-recode=shared \ --with-readline \ --with-zlib \ --without-pear make && sudo make install ``` 这段脚本指定了 PHP 及其模块的具体路径和其他一些常用功能的支持状态。完成之后执行 `make test` 来验证编译是否正常结束。 ### 设置环境变量 为了让系统能够识别新安装PHP 解释器位置,编辑 `/etc/profile.d/php.sh` 文件加入以下内: ```bash export PATH=$PATH:/usr/local/php/bin source /etc/profile.d/php.sh ``` 这样就可以全局生效地添加 PHP 命令至用户的 PATH 中去了。 ### 复制配置文件 最后一步是从源码目录复制一份预设好的 INI 文件到指定的位置以便后续修改使用: ```bash cp ~/php-8.4.x/php.ini-production /usr/local/php/lib/php.ini ``` 至此,整个编译安装流程已经完毕,现在应该可以在终端里通过 `php -v` 查看已成功安装的新版本 PHP 信息了[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值