大地主的知识库
专注于收集、整理和分享各种各样的知识信息

在离线环境的银河麒麟服务器部署 PHP 环境完整指南

在离线环境下部署 PHP 环境需要解决诸多依赖问题,尤其是在银河麒麟操作系统上。本文记录了部署过程中常见报错及解决办法,帮助您高效完成离线环境下的 PHP 部署。


1. 环境说明

  • 操作系统: 银河麒麟(aarch64 架构)
  • PHP 版本: PHP 7.4.33
  • 特殊要求:
    • 无法连接外网。
    • 所需依赖需手动下载。
    • 配置 PHP-FPM 支持 Web 服务。
    • 安装扩展 swoole

2. 前期准备

2.1 获取安装包和依赖

  1. 在联网机器上访问银河麒麟的离线镜像站:
      https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/aarch64/Packages/   https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/updates/x86_64/Packages/  https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/aarch64/Packages/   等镜像站都可以
    • 下载以下 RPM 包及其依赖:
      • PHP 核心包: php-7.4.33.tar.gz
      • 所需依赖包:
        • libcurl
        • libxslt
        • oniguruma
        • libgcrypt-devel
        • libgpg-error-devel
      • Swoole 扩展源码包: swoole-src-4.8.13.tar.gz

    2.2 传输文件

    将上述文件传输至服务器,统一放置在 /www/php/ 目录下。


    3. 安装基础依赖

    3.1 检查和安装基础工具

    sudo yum install gcc gcc-c++ make autoconf libtool -y
    

    3.2 手动安装依赖

    进入 RPM 包存放目录,安装必要的依赖:

    cd /www/php
    sudo rpm -Uvh libcurl*.rpm libxslt*.rpm oniguruma*.rpm libgcrypt-devel*.rpm libgpg-error-devel*.rpm
    
    

    验证依赖是否安装成功:

    rpm -qa | grep -E "libcurl|libxslt|oniguruma|libgcrypt|libgpg-error"
    
    

    在离线环境的银河麒麟服务器部署 PHP 环境完整指南

    在离线环境下部署 PHP 环境需要解决诸多依赖问题,尤其是在银河麒麟操作系统上。本文记录了部署过程中常见报错及解决办法,帮助您高效完成离线环境下的 PHP 部署。


    1. 环境说明

    • 操作系统: 银河麒麟(aarch64 架构)
    • PHP 版本: PHP 7.4.33
    • 特殊要求:
      • 无法连接外网。
      • 所需依赖需手动下载。
      • 配置 PHP-FPM 支持 Web 服务。
      • 安装扩展 swoole

    2. 前期准备

    2.1 获取安装包和依赖

    1. 在联网机器上访问银河麒麟的离线镜像站:
    2. 下载以下 RPM 包及其依赖:
      • PHP 核心包: php-7.4.33.tar.gz
      • 所需依赖包:
        • libcurl
        • libxslt
        • oniguruma
        • libgcrypt-devel
        • libgpg-error-devel
      • Swoole 扩展源码包: swoole-src-4.8.13.tar.gz

    2.2 传输文件

    将上述文件传输至服务器,统一放置在 /www/php/ 目录下。


    3. 安装基础依赖

    3.1 检查和安装基础工具

    bashCopy codesudo yum install gcc gcc-c++ make autoconf libtool -y
    

    3.2 手动安装依赖

    进入 RPM 包存放目录,安装必要的依赖:

    bashCopy codecd /www/php
    sudo rpm -Uvh libcurl*.rpm libxslt*.rpm oniguruma*.rpm libgcrypt-devel*.rpm libgpg-error-devel*.rpm
    

    验证依赖是否安装成功:

    bashCopy coderpm -qa | grep -E "libcurl|libxslt|oniguruma|libgcrypt|libgpg-error"
    

    4. 编译安装 PHP

    4.1 解压源码

    cd /www/php
    tar -xzf php-7.4.33.tar.gz
    cd php-7.4.33
    
    4.2 配置 PHP
    执行以下命令配置 PHP:
    
    ./configure --prefix=/www/php74 \
    --with-config-file-path=/www/php74/etc \
    --enable-mbstring \
    --with-curl \
    --with-zlib \
    --enable-soap \
    --enable-intl \
    --with-openssl \
    --with-mysqli \
    --enable-fpm \
    --with-jpeg \
    --with-freetype \
    --enable-gd \
    --enable-exif \
    --with-gettext \
    --with-xsl \
    --enable-bcmath \
    --enable-shmop \
    --enable-sysvsem \
    --enable-inline-optimization \
    --with-bz2 \
    --enable-calendar \
    --with-mhash \
    --enable-opcache
    
    

    5. 常见报错及解决

    5.1 报错:缺少 libxslt-devel

    错误提示:

    Package 'libxslt', required by 'virtual:world', not found
    
    解决方法:
    
    下载 libxslt-devel 和对应的依赖:
    libgcrypt-devel
    libgpg-error-devel
    安装:
    
    sudo rpm -Uvh libgcrypt-devel*.rpm libgpg-error-devel*.rpm libxslt-devel*.rpm
    
    

    6. 安装 Swoole 扩展

    6.1 准备

    1. 解压 Swoole 源码包:
    cd /www/php
    tar -xzf swoole-src-4.8.13.tar.gz
    cd swoole-src-4.8.13
    

    为 PHP 扩展准备工具:

    /www/php74/bin/phpize
    

    6.2 编译安装 Swoole

    1. 配置和编译:
    ./configure --with-php-config=/www/php74/bin/php-config --enable-openssl
    make -j$(nproc) && make install
    
    1. 安装完成后,swoole.so 会被放置于扩展目录 /www/php74/lib/php/extensions/no-debug-non-zts-20190902/

    6.3 配置 php.ini

    /www/php74/etc/php.ini 中添加:

    extension=swoole.so
    
    

    7. 配置和验证

    7.1 配置 PHP-FPM

    1. 复制必要的配置文件:
    cp /www/php/php-7.4.33/php.ini-development /www/php74/etc/php.ini
    cp /www/php74/etc/php-fpm.conf.default /www/php74/etc/php-fpm.conf
    cp /www/php74/etc/php-fpm.d/www.conf.default /www/php74/etc/php-fpm.d/www.conf
    
    

    启动 PHP-FPM:

    /www/php74/sbin/php-fpm
    
    

    验证服务是否正常:

    ps aux | grep php-fpm
    

    7.2 测试 PHP

    1. 创建测试文件:
    echo "<?php phpinfo();" > /var/www/html/info.php
    
    
    1. 在浏览器中访问 http://<服务器IP>/info.php,查看 PHP 信息页面。

    7.3 测试 Swoole

    创建简单的 HTTP 服务:

    <?php
    $http = new Swoole\Http\Server("0.0.0.0", 9501);
    
    $http->on("request", function ($request, $response) {
        $response->end("Hello Swoole!");
    });
    
    $http->start();
    
    

    运行后访问 http://<服务器IP>:9501

    8. 总结

    通过以上步骤,我们成功在离线环境的银河麒麟服务器上部署了 PHP 环境,并安装了 Swoole 扩展。本文详细记录了安装过程中遇到的依赖问题及解决方法,为离线部署提供了完整的参考。希望本教程对您有所帮助!

    赞(0) 打赏
    未经允许不得转载:大地主的知识库 » 在离线环境的银河麒麟服务器部署 PHP 环境完整指南

    评论 抢沙发

    觉得文章有用就打赏一下文章作者

    非常感谢你的打赏,我将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

    微信扫一扫打赏

    登录

    找回密码

    注册