如何基于官方Docker PHP镜像安装ext-ftp扩展?
PHP官方Docker镜像中FTP扩展安装失败的解决过程
我使用官方PHP Docker镜像安装FTP扩展一直失败,尝试过执行docker compose build --no-cache重新构建镜像,也试过添加RUN docker-php-ext-enable ftp命令。
最初的Dockerfile内容:
FROM php:8.3-fpm WORKDIR /var/www/html RUN docker-php-ext-install ftp
执行php -m查看已加载模块,输出如下(未找到FTP扩展):
[PHP Modules] Core ctype curl date dom fileinfo filter hash iconv intl json libxml mbstring mysqli mysqlnd openssl pcre PDO pdo_mysql pdo_sqlite Phar posix random readline Reflection session SimpleXML sodium SPL sqlite3 standard tokenizer xdebug xml xmlreader xmlwriter zip zlib [Zend Modules] Xdebug
解决方法
最终通过调整Dockerfile并重新运行docker compose up成功解决问题,调整后的Dockerfile内容:
FROM php:8.3-fpm WORKDIR /var/www/html RUN apt-get update && \ apt-get install -y \ libfreetype-dev \ libjpeg62-turbo-dev \ libpng-dev \ libicu-dev \ && docker-php-ext-install ftp && php -m | grep -i ftp \ && apt-get clean && rm -rf /var/lib/apt/lists/* COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/bin/ RUN install-php-extensions xdebug pdo_mysql mysqli @composer COPY --chown=www-data:www-data . /var/www/html RUN chmod o+w /var/www/html -R RUN composer install EXPOSE 9000 CMD ["php-fpm"]
内容的提问来源于stack exchange,提问作者csandreas1
相关产品推荐
相关产品推荐

