laradock 中安装 PHP 扩展

解锁 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 协议》,转载必须注明作者和本文链接
分享使我快乐!
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!