laradock 中安裝 PHP 擴充套件

白菜丶發表於2020-06-21

解鎖 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 協議》,轉載必須註明作者和本文連結

相關文章