PHP 8安装APCU时出现docker-php-ext-install命令未找到错误求助
解决
docker-php-ext-install: command not found错误 问题原因
docker-php-ext-install是官方PHP Docker镜像内部专属的脚本,并非宿主机系统的命令,直接在宿主机bash里执行必然会报错找不到命令。
解决方案
场景1:给已运行的PHP容器安装扩展
- 先进入正在运行的PHP容器终端:
docker exec -it <你的PHP容器名称或ID> bash - 在容器内部执行你原本的安装命令:
mkdir -p /usr/src/php/ext/apcu && curl -fsSL https://pecl.php.net/get/apcu | tar xvz -C "/usr/src/php/ext/apcu" --strip 1 && docker-php-ext-install apcu
场景2:构建带APCU扩展的自定义PHP镜像(推荐方式)
把安装逻辑写入Dockerfile,示例如下:
# 替换为你需要的PHP版本镜像,比如php:7.4-fpm、php:8.3-apache等 FROM php:8.2-fpm RUN mkdir -p /usr/src/php/ext/apcu \ && curl -fsSL https://pecl.php.net/get/apcu | tar xvz -C "/usr/src/php/ext/apcu" --strip 1 \ && docker-php-ext-install apcu
然后在Dockerfile所在目录执行构建命令:
docker build -t custom-php-apcu .
额外注意
如果你的PHP镜像不是官方提供的,大概率没有docker-php-ext-install脚本,这种情况建议更换为官方PHP镜像;如果必须使用第三方镜像,需要手动编译安装APCU扩展(步骤繁琐,不推荐)。
内容的提问来源于stack exchange,提问作者ButcherFromHell
相关产品推荐
相关产品推荐

