Docker PHP 容器安装部分 PHP 扩展

1,364 阅读1分钟

项目背景

Docker 容器镜像为了减小体积, 部分扩展未能被打包进去, 所以需要手动安装下

解决方案

  1. 进入容器

    docker exec php72 /bin/sh
    
  2. 查看已有的扩展目录

    /usr/local/bin
    
  3. 更新 apt-get apt-get update

    apt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

    Advanced Package Tool,又名apt-get,是一款适用于Unix和Linux系统的应用程序管理器。最初于1998年发布,用于检索应用程序并将其加载到Debian Linux系统。Apt-get成名的原因之一在于其出色的解决软件依赖关系的能力。其通常使用.deb-formatted文件,但经过修改后可以使用apt-rpm处理红帽的Package Manager(RPM)文件。        

  4. 安装 gd 相应的依赖

    apt-get install \
    libwebp-dev \
    libjpeg62-turbo-dev \
    libpng-dev libxpm-dev \
    libfreetype6-dev
    
  5. 添加 gd 库编译选项:

    docker-php-ext-configure gd \
        --with-gd \
        --with-webp-dir \
        --with-jpeg-dir \
        --with-png-dir \
        --with-zlib-dir \
        --with-xpm-dir \
        --with-freetype-dir
    
  6. 安装 gd 扩展模块:

    docker-php-ext-install -j$(nproc) gd
    
  7. 安装 exif 扩展模块:

    docker-php-ext-install exif
    
  8. 安装缓存器 OPcache 扩展:

    docker-php-ext-install opcache
    
  9. 安装pdo扩展模块

    docker-php-ext-install pdo_mysql
    
  10. 安装 mysqli 扩展模块

    docker-php-ext-install mysqli
    
  11. 安装 zip 扩展模块

    apt-get install libzip-dev
    
    
    docker-php-ext-install zip
    
    
  12. 安装 sockets 扩展

    docker-php-ext-install sockets
    
  13. 安装 bcmath 扩展

    docker-php-ext-install bcmath
    
  14. 安装 redis 扩展

    pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis
    

参考文献

在php容器中安装php扩展