安装pecl:
RUN apt-get update && apt-get install -y php-pear
安装PHP扩展:
RUN pecl install redis && docker-php-ext-enable redis
指定扩展版本:
RUN pecl install xdebug-2.9.8
安装开发依赖后清理:
RUN apt-get install -y libmemcached-dev zlib1g-dev \
&& pecl install memcached \
&& apt-get remove -y libmemcached-dev zlib1g-dev \
&& apt-get autoremove -y
多阶段构建减少镜像大小:
FROM php:7.4-cli as builder
RUN pecl install xdebug
FROM php:7.4-cli
COPY --from=builder /usr/local/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so /usr/local/lib/php/extensions/no-debug-non-zts-20190902/
RUN docker-php-ext-enable xdebug
pecl命令未找到:
依赖缺失错误:
RUN apt-get install -y libzip-dev \
&& pecl install zip
网络问题:
--pecl-option
指定代理:
dockerfile
RUN pear config-set http_proxy http://proxy.example.com:8080
中国地区加速:
RUN pear config-set preferred_state beta
RUN pear config-set auto_discover 1
RUN pear channel-update pecl.php.net
组合命令减少层数:
RUN apt-get update && apt-get install -y \
php-pear \
libmemcached-dev \
&& pecl install memcached \
&& docker-php-ext-enable memcached \
&& rm -rf /var/lib/apt/lists/*
使用官方docker-php-ext-*脚本:
RUN docker-php-ext-install pdo pdo_mysql
验证扩展安装:
RUN php -m | grep -i memcached
清理缓存:
RUN pecl clear-cache
通过以上方法和技巧,可以在Docker容器中高效地使用pecl安装和管理PHP扩展。