我正在尝试在Docker容器中安装pecl / yaml PHP扩展。
pecl install yaml-1.2.0
成功完成,但我的应用失败,出现致命错误:调用未定义的函数yaml_parse()。
phpinfo()
显示:
extension_dir
设置为/usr/local/lib/php/extensions/no-debug-non-zts-20131226
。在容器内部,我可以看到那个pecl可能放在那里的yaml.so
。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"