美文网首页
Docker php安装扩展步骤详解

Docker php安装扩展步骤详解

作者: 山哥的哥 | 来源:发表于2021-01-08 20:57 被阅读0次

    这篇主要介绍Docker的PHP容器中自带的几个特殊命令来安装扩展。

    • docker-php-source
    • docker-php-ext-install
    • docker-php-ext-enable
    • docker-php-ext-configure

    以上命令需要在容器内运行,也可以在Dockerfile中的RUN命令中进行使用。

    docker-php-sourec 初始化php源码目录

    初始化源码目录

    docker-php-source extract 
    

    运行上面命令后,会在/usr/src目录下生成一个php源码目录

    案例:

    ### 运行docker-php-source前的目录结构
    root@dec18099fa25:~# cd /usr/src/
    root@dec18099fa25:/usr/src# ls -l 
    total 12184
    -rw-r--r-- 1 root root 12472236 Jan 10  2019 php.tar.xz
    -rw-r--r-- 1 root root      455 Jan 10  2019 php.tar.xz.asc
    
    ### 执行命令
    root@dec18099fa25:/usr/src# docker-php-source extract
    
    ### 执行后的目录结构
    root@dec18099fa25:/usr/src# ls -l
    total 12188
    drwxr-xr-x 14 root root     4096 Jan  8 12:07 php   # <--就多了这个源码目录
    -rw-r--r--  1 root root 12472236 Jan 10  2019 php.tar.xz
    -rw-r--r--  1 root root      455 Jan 10  2019 php.tar.xz.asc
    

    清除源码目录

    docker-php-source delete 
    

    可以在安装好扩展之后运行,可以释放磁盘空间。

    docker-php-ext-enable 启用扩展

    这个命令是用来启用PHP扩展的。我们使用pecl安装PHP扩展的时候,默认是没有启用这个扩展的,如果想要使用这个扩展必须要在php.ini这个配置文件中去配置一下才能使用这个PHP扩展。而 docker-php-ext-enable 这个命令则是自动给我们来启动PHP扩展的,不需要你去php.ini这个配置文件中去配置。

    ### 启用redis扩展
    root@dec18099fa25:/usr/src# docker-php-ext-enable redis
    

    docker-php-ext-install 安装并启用扩展

    docker-php-ext-install "源码包目录名"
    

    注意事项:

    • “源码包”需要放在/usr/src/php/ext目录下;
    • 默认情况下无/usr/src/php这个目录,需要先运行docker-php-source extract生成;
    • docker-php-ext-install安装的扩展,会自动调用docker-php-ext-enable来启用扩展;
    • 卸载扩展,直接删除/usr/local/etc/php/conf.d对应的配置文件即可。

    案例:

    ### 下载redis扩展源码
    root@dec18099fa25:/tmp# curl -L -o ./redis-4.3.0.tgz https://pecl.php.net/get/redis-4.3.0.tgz
    
    ### 解压源码 
    root@dec18099fa25:/tmp# tar xvf redis-4.3.0.tgz
    
    ### 将源码包移至/usr/src/php/ext/,并命名为phpredis
    root@dec18099fa25:/tmp# mv redis-4.3.0 /usr/src/php/ext/phpredis
    
    ### 安装phpredis目录中的扩展
    root@dec18099fa25:/tmp# docker-php-ext-install phpredis
    
    ### 检查redis扩展是否已经安装成功
    root@dec18099fa25:/tmp# php -m
    

    docker-php-ext-configure 为扩展设置自定义configure参数

    例如安装gd图像扩展,Dockerfile如下所示:

    FROM php:7.4-fpm
    RUN apt-get update && apt-get install -y \
            libfreetype6-dev \
            libjpeg62-turbo-dev \
            libpng-dev \
        && docker-php-ext-configure gd --with-freetype --with-jpeg \
        && docker-php-ext-install -j$(nproc) gd
    

    相关文章

      网友评论

          本文标题:Docker php安装扩展步骤详解

          本文链接:https://www.haomeiwen.com/subject/laofaktx.html