docker安装php8.2扩展

2025-08-29 15:37:01

通过 Dockerfile 构建自定义镜像(持久化扩展,推荐生产环境)

通过 Dockerfile 构建包含所需扩展的 PHP 镜像,确保容器重启或重建后扩展依然存在。

1、在本地创建Dockerfile文件:

# 基于官方PHP 8.2-fpm镜像
FROM php:8.2-fpm

# 安装系统依赖
RUN apt-get update && apt-get install -y \
    libzip-dev \
    unzip \
    git \
    && rm -rf /var/lib/apt/lists/*

# 安装PHP扩展
RUN set -ex \
    # 安装fileinfo(内置扩展)
    && docker-php-ext-install fileinfo \
    # 安装igbinary
    && pecl install igbinary-3.2.14 \
    && docker-php-ext-enable igbinary \
    # 安装redis(依赖igbinary)
    && pecl install redis-6.0.2 \
    && docker-php-ext-enable redis

注意:扩展版本需与 PHP 8.2 兼容,可通过PECL 官网查询最新兼容版本。

2、构建自定义镜像:

docker build -t myphp82:with-extensions .

3、使用新镜像启动容器:

docker run -d \
  --name php82-with-ext \
  -v /本地代码目录:/var/www/html \
  myphp82:with-extensions

4、验证扩展:

docker exec -it php82-with-ext php -m | grep -E 'redis|fileinfo|igbinary'

 

关键说明:

  1. 扩展版本兼容性
    • igbinary推荐 3.2.x 版本(兼容 PHP 8.2)
    • redis推荐 6.0.x 及以上版本(兼容 PHP 8.2)
    • 可通过pecl search redispecl search igbinary查看最新版本
本文为"鸡肉"原创文章,转载无需和我联系,但请注明来自鸡肉
您的浏览器不支持canvas标签,请您更换浏览器