在 CentOS 6.9 上为 PHP 添加 RAR 压缩解压支持
本文介绍如何在 CentOS 6.9 系统上,为 PHP 环境编译安装 RAR 扩展,使其支持对 RAR 格式文件的压缩与解压操作。请注意,RAR 扩展的版本需要与您的 PHP 版本相匹配。
版本兼容性说明
在开始安装前,请务必根据您的 PHP 版本选择合适的 RAR 扩展版本:
- RAR 4.0.0 版本:要求 PHP 版本为 5.3.0 或更新,PEAR 版本为 1.4.0 或更新。
- RAR 3.0.2 及 3.0.1 版本:要求 PHP 版本为 5.2.0 或更新,PEAR 版本为 1.4.0 或更新。
重要提示:请根据您服务器上的实际 PHP 版本下载对应的扩展包,不要盲目跟随本文示例中的版本号。
安装步骤
以下步骤以 RAR 4.0.0 扩展为例,假设您的 PHP 安装路径为 /usr/local/php。
-
下载并解压扩展源码包
wget http://pecl.php.net/get/rar-4.0.0.tgz tar -zxvf rar-4.0.0.tgz cd rar-4.0.0 -
安装编译依赖并编译扩展
首先安装 PHP 开发包,它包含了
phpize等编译工具。yum install php-devel -y然后使用
phpize准备编译环境,并进行编译安装。phpize ./configure --with-php-config=/usr/local/php/bin/php-config make make install
常见错误处理
如果在执行 ./configure 时出现以下错误:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
这表明系统缺少 C++ 编译环境。请安装以下软件包:
yum install glibc-headers gcc-c++ -y
安装完成后,重新执行 ./configure 步骤即可。
配置 PHP 启用扩展
-
定位扩展文件
编译安装成功后,扩展文件
rar.so会被安装到 PHP 的扩展目录中。如果您使用的是 LNMP 一键安装包等未在php.ini中明确指定extension_dir的环境,扩展通常会自动安装到以下目录:/usr/local/php/lib/php/extensions/您可以在该目录下查找名称包含 “no-debug-non-zts” 的子目录,
rar.so文件通常就在其中。 -
修改 php.ini 文件
编辑 PHP 配置文件(例如
/usr/local/php/etc/php.ini),在文件末尾添加以下行来启用扩展:extension = rar.so -
重启服务并验证
重启您的 Web 服务器(如 Nginx 或 Apache)和 PHP-FPM 服务。
# 示例:重启 PHP-FPM 和 Nginx service php-fpm restart service nginx restart创建一个包含
phpinfo();的 PHP 文件并通过浏览器访问,在输出页面中搜索 “rar”。如果能看到 RAR 扩展的相关信息,则表示安装成功。
总结与注意事项
- 整个过程的核心是版本匹配、解决编译依赖、正确配置
php.ini。 - CentOS 6.9 系统仓库较旧,如果遇到依赖包无法安装的问题,可能需要配置 EPEL 源。
- RAR 扩展仅提供了读取和解压 RAR 文件的功能。如需创建 RAR 压缩包,通常需要在服务器上额外安装命令行工具
rar或unrar,并通过 PHP 的exec()等函数调用。