演示docker-php-source , docker-php-ext-install ,docker-php-enable-docker-configure 这四个命令到底是用来干嘛的,它们在PHP容器中都做了哪些事情?

Docker 中的PHP容器安装扩展的方式有

  • 通过pecl方式安装
  • 通过php 容器中自带的几个特殊命令来安装,这些特殊命令可以在Dockerfile中的RUN命令中进行使用。

这里,我们主要讨论的是第二种方案,如何通过PHP容器中的几个特殊命令来安装PHP扩展。

PHP中安装扩展有几个特殊的命令

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

docker-php-source

此命令,实际上就是在PHP容器中创建一个/usr/src/php的目录,里面放了一些自带的文件而已。

我们就把它当作一个从互联网中下载下来的PHP扩展源码的存放目录即可。

事实上,所有PHP扩展源码扩展存放的路径: /usr/src/php/ext 里面。

格式:

参数说明:

  • extract : 创建并初始化 /usr/src/php目录
  • delete : 删除 /usr/src/php目录

案例:

docker-php-ext-enable

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

案例

docker-php-ext-install

这个命令,是用来安装并启动PHP扩展的。

命令格式:
docker-php-ext-install “源码包目录名”

注意点:

“源码包”需要放在 /usr/src/php/ext 下。

默认情况下,PHP容器没有 /usr/src/php这个目录,需要使用 docker-php-source extract来生成。

docker-php-ext-install 安装的扩展在安装完成后,会自动调用docker-php-ext-enable来启动安装的扩展。

卸载扩展,直接删除/usr/local/etc/php/conf.d 对应的配置文件即可。

案例

docker-php-ext-configure

docker-php-ext-configure 一般都是需要跟 docker-php-ext-install搭配使用的。

它的作用就是,当你安装扩展的时候,需要自定义配置时,就可以使用它来帮你做到。

案例