You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在含Apache的Docker镜像中安装php-cli适配GLPI

构建含Apache与PHP-CLI的GLPI自定义Docker镜像

核心说明

php:8.3.2-apache-bookworm基础镜像已默认包含PHP-CLI,无需单独安装完整的php-cli包。若你发现CLI缺失或需补充相关依赖,可在系统包安装步骤中添加php-cli以确保完整性。以下是优化后的Dockerfile,同时确保Apache服务、GLPI所需PHP扩展与PHP-CLI环境一致:

优化后的Dockerfile

FROM php:8.3.2-apache-bookworm

# 定义环境变量
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=America/Sao_Paulo \
    LANG=pt_BR.utf8 \
    LANGUAGE=pt_BR:pt \
    LC_ALL=pt_BR.UTF-8 

# 配置时区与本地化
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
    && apt-get update && apt-get install -y locales && localedef -i pt_BR -c -f UTF-8 -A /usr/share/locale/locale.alias $LC_ALL

# 安装系统工具与PHP-CLI(若基础镜像缺失则补充)
RUN apt-get install -y wget nano iproute2 iputils-ping php-cli

# 安装PHP扩展依赖库
RUN apt-get install -y libxml2-dev libc-client-dev libkrb5-dev libldap2-dev libcurl4-openssl-dev \
libsnmp-dev libzip-dev libpng-dev libonig-dev libbz2-dev libjpeg-dev libfreetype6-dev

# 编译安装PHP扩展
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
    && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install bz2 curl exif gd ldap imap intl mbstring mysqli opcache soap snmp xml zip

# 通过PECL安装扩展并启用
RUN pecl install apcu xmlrpc-1.0.0RC3 \
    && docker-php-ext-enable apcu xmlrpc

# 下载并部署GLPI
RUN wget -O- https://github.com/glpi-project/glpi/releases/download/10.0.11/glpi-10.0.11.tgz | tar -zxv --strip-components=1 -C /var/www/html/ \
    && chown www-data:www-data -R /var/www/html \
    && find /var/www/html -type d -exec chmod 755 {} \; \
    && find /var/www/html -type f -exec chmod 644 {} \; \
    && apt-get purge -y wget

# 配置Apache站点与模块
COPY glpi.conf /etc/apache2/sites-available/glpi.conf
RUN a2dissite 000-default.conf \
    && a2ensite glpi.conf \
    && a2enmod rewrite headers

# 清理系统缓存
RUN apt-get clean \
    && apt-get autoremove \
    && rm -rf /var/lib/apt/lists/*

# 切换运行用户
USER www-data

关键修改点

  1. PHP-CLI保障:在系统包安装步骤中添加php-cli,确保即使基础镜像存在异常,CLI环境也能正常可用
  2. 层优化:合并PECL安装命令,减少镜像构建层数,提升构建效率与镜像体积控制
  3. 一致性确保:所有PHP扩展(包括通过docker-php-ext与PECL安装的)会同时作用于Apache的mod_php环境与PHP-CLI环境,无需单独配置CLI的扩展

内容的提问来源于stack exchange,提问作者campos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 15:18:37