尽管有ini指令,PHP扩展仍未加载

时间:2018-01-13 02:08:22

标签: php docker-compose

我正在尝试在Docker容器中安装pecl / yaml PHP扩展。

pecl install yaml-1.2.0成功完成,但我的应用失败,出现致命错误:调用未定义的函数yaml_parse()

phpinfo()显示:

  • PHP的extension_dir设置为/usr/local/lib/php/extensions/no-debug-non-zts-20131226。在容器内部,我可以看到那个pecl可能放在那里的yaml.so
  • 正在加载自定义.ini文件,我将其安装到包含extension=yaml.so指令的容器中。

尽管如此,phpinfo()的输出中没有提到yaml,除了挂载的yaml.ini文件名。

注意:这不是一个vanilla Docker / Compose项目;我实际上使用的是Lando,它提供了一个基于docker-compose的抽象层。所以我本身并没有Dockerfile,尽管我相信它基于this one。考虑到这一点,我的问题变成:我可以在容器内做些什么来弄清楚扩展为什么不加载?

这是我的.lando.yml文件:

name: kois-web
recipe: wordpress
config:
  webroot: html
  php: 5.6

services:
  appserver:
    config:
      conf: config/php/yaml.ini
    extras:
      - "apt-get update && apt-get install -y libyaml-dev"
      - "yes '' | pecl install yaml-1.2.0"

0 个答案:

没有答案