在dockerfile檔案中直接使用關鍵字 docker-php-ext-install
run docker-php-ext-install -j$(nproc) iconv \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install bcmath \
&& docker-php-ext-install sockets \
&& docker-php-ext-install zip \
&& docker-php-ext-install sysvmsg
在該**上的擴充套件可以使用pecl install安裝,例如redis swoole等擴充套件,使用該命令安裝時需要注意在映象中是否有pecl命令,沒有則安裝
&& docker-php-ext-enable xcache更詳細的用法請看docker php映象說明
使用這種方法需要注意以下幾點:
run 的最後一條命令不能有斜槓,否則報錯, 如以下
&& docker-php-ext-enable xcache \
在wget第一步引數是-o,不是-o,大寫的。docker hup上是錯的
cannot find autoconf. please check your autoconf installation and the
$php_autoconf environment variable. then, rerun this script.
error: `phpize' failed
解決方案,安裝autoconf。centos使用yum,unbantu使用apt-get, alpine是用apk
run apk update \
&& apk add autoconf \
&& docker-php-ext-install pcntl \
&& pecl install redis-5.0.0 \
&& docker-php-ext-enable redis
copy . /var/www/html
copy ./docker/nginx-php7/sites-enabled /etc/nginx/sites-enabled
configure: error: in `/var/www/html/redis':
configure: error: no acceptable c compiler found in $path
see `config.log' for more details
解決方法在;安裝gcc
apk add gcc
configure: error: in `/var/www/html/redis':
configure: error: c compiler cannot create executables
see `config.log' for more details
由於我使用的是docker的alpine映象,解決方法請參考,解決辦法如下:
apk add gcc g++
以上3個問題是我在安裝redis擴充套件時候遇到的,dockerfile如下
from richarvey/nginx-php-fpm:latest
run apk update \
&& apk add autoconf \
&& apk add gcc g++\
&& apk add make \
&& docker-php-ext-install pcntl \
&& wget /get/redis-5.0.1.tgz -o redis.tgz \
&& mkdir -p redis \
&& tar -xf redis.tgz -c redis --strip-components=1 \
&& rm redis.tgz \
&& ( \
cd redis \
&& phpize \
&& ./configure --with-php-config=/usr/local/bin/php-config \
&& make -j$(nproc) \
&& make install \
) \&& rm -r redis \
&& docker-php-ext-enable redis
copy . /var/www/html
copy ./docker/nginx-php7/sites-enabled /etc/nginx/sites-enabled
docker容器中安裝php擴充套件
php常用命令 php m 檢視當前安裝的模組 php ini 檢視php.ini檔案所在位置 安裝擴充套件流程 cd ext gd 進入擴充套件目錄下的gd目錄 phpize phpize命令安裝擴充套件,執行後出現configure資料夾 configure with php config us...
docker 裡面安裝php擴充套件
進入docker 容器 docker exec it myphp7 容器名稱 bin bash apt get update apt get install yum y 安裝pecl wget o go pear.php php go pear.php 一直回車預設安裝 使用pecl命令安裝 pec...
php擴充套件安裝
以前以為php的擴充套件要重新編譯php,今天在群友的指點下知道可以像apache模組一樣動態擴充套件,以mcrypt舉例。進入要安裝的擴充套件的原始碼目錄 cd root php 5.2.6 ext mcrypt 執行phpize usr local php5 bin phpize ansi ro...