博客 / Linux/ 在 CentOS 6.9 上为 PHP 编译安装 RAR 扩展

在 CentOS 6.9 上为 PHP 编译安装 RAR 扩展

在 CentOS 6.9 上为 PHP 编译安装 RAR 扩展

在 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

  1. 下载并解压扩展源码包

    wget http://pecl.php.net/get/rar-4.0.0.tgz
    tar -zxvf rar-4.0.0.tgz
    cd rar-4.0.0
  2. 安装编译依赖并编译扩展

    首先安装 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 启用扩展

  1. 定位扩展文件

    编译安装成功后,扩展文件 rar.so 会被安装到 PHP 的扩展目录中。如果您使用的是 LNMP 一键安装包等未在 php.ini 中明确指定 extension_dir 的环境,扩展通常会自动安装到以下目录:

    /usr/local/php/lib/php/extensions/

    您可以在该目录下查找名称包含 “no-debug-non-zts” 的子目录,rar.so 文件通常就在其中。

  2. 修改 php.ini 文件

    编辑 PHP 配置文件(例如 /usr/local/php/etc/php.ini),在文件末尾添加以下行来启用扩展:

    extension = rar.so
  3. 重启服务并验证

    重启您的 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 压缩包,通常需要在服务器上额外安装命令行工具 rarunrar,并通过 PHP 的 exec() 等函数调用。

发表评论

您的邮箱不会公开。必填项已用 * 标注。