解鎖 laradock 中安裝PHP擴充套件的正確姿勢
一、安裝擴充套件的兩種方式
1、通過 pecl 方式安裝
2、通過容器的特殊命令來安裝
二、例子
1、通過 pecl 方式安裝的例子
###########################################################################
# PHP Memcached:
###########################################################################
ARG INSTALL_MEMCACHED=false
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
# Install the php memcached extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install memcached-2.2.0; \
else \
pecl install memcached-3.1.3; \
fi \
&& docker-php-ext-enable memcached \
;fi
解釋:使用
pecl
來安裝擴充套件,然後通過docker-php-ext-enable
來開啟擴充套件
2、通過特殊命令安裝的例子
###########################################################################
# IMAP:
###########################################################################
ARG INSTALL_IMAP=false
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get install -y libc-client-dev libkrb5-dev && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install imap \
;fi
解釋:先安裝依賴,然後使用
docker-php-ext-configure
來自定義配置,最後使用具有安裝與開啟擴充套件功能的docker-php-ext-install
命令
三、引數說明
1、docker-php-source:建立一個‘/usr/src/php’的目錄。我們會把下載的擴充套件資源放入‘/usr/src/php/ext’目錄中
2、docker-php-ext-configure:自定義特殊配置
3、docker-php-ext-install:安裝‘/usr/src/php/ext’目中的特定擴充套件,並自動開啟
4、docker-php-ext-enable:開啟配置命令。由於PECL知識安裝卻不設定開啟,所以這個命令一般都會結合PECL一起使用
四、提示
1、更多使用例子,請檢視 laradock 目錄下的 php-fpm/Dockerfile 檔案
2、也可以檢視這兩篇實戰文章 安裝 Redis 擴充套件、 安裝 Imagick 擴充套件
結語
遇到問題彆氣餒,請相信自己能行!
思考,嘗試! 如果失敗,那就查閱資料,再思考,再嘗試!
本作品採用《CC 協議》,轉載必須註明作者和本文連結