docker内给php安装扩展

tech2024-01-19  92

docker内给php安装扩展

一:docker已经打包好的扩展(例如gd,bcmath等) 主要包括gd,bcmath等,如果想要看docker已经打包了哪些扩展,可以使用:

docker-php-source extract //拉取所有的docker已打包的扩展到/usr/src cd /usr/src/php/ext ls

既可以看到。 这些扩展是可以使用docker自带的命令安装的,在dockerfile直接写或者在容器:

apt update 安装依赖(安装gd扩展等必须要先安装系统依赖) apt install libfreetype6-dev libmcrypt-dev libpng-dev libjpeg-dev libpng-dev sendmail zlib1g-dev docker-php-ext-install gd docker-php-ext-enable gd docker-php-ext-install zip docker-php-ext-enable zip docker-php-ext-install mbstring docker-php-ext-enable mbstring docker-php-ext-install pdo_mysql docker-php-ext-enable pdo_mysql

安装成功,使用 php -m 可以看到已经安装了gd扩展和bcmath扩展;

二:php的pecl库里存在的扩展(例如redis,memcached,swoole等) 这些扩展需要先使用pecl安装,然后再使用docker命令开启扩展即可

apt update && apt add --no-cache autoconf g++ make libmemcached-dev \ && pecl install redis-5.2.2 \ && docker-php-ext-enable redis \ && pecl install memcached \ && docker-php-ext-enable memcached \ && pecl install swoole \ && docker-php-ext-enable swoole

安装成功,使用 php -m 可以看到已经安装了redis、memcached、swoole扩展;

三、需要自己编译生成的php扩展(例如zmq)

*#安装zmq扩展* RUN cd /usr/src \ && apk add --no-cache --virtual .git_deps git \ && git clone git://github.com/mkoppanen/php-zmq.git \ && apk del .git_deps \ && apk add --no-cache zeromq-dev \ && cd php-zmq \ && phpize \ && ./configure \ && make \ && make install \ && docker-php-ext-enable zmq

安装成功,使用 php -m 可以看到已经安装了zmq扩展; 重启容器即生效

最新回复(0)