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 协议》,转载必须注明作者和本文链接
分享使我快乐!
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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