2016-09-13 111 views
0

我试图在我的docker容器上添加yaml_parse_file扩展名。 在Dockerfile我加入这一行添加在php.ini文件扩展名:使用docker将yaml解析添加到php.ini文件中

echo 'extension=yaml.so' >> /usr/local/etc/php/php.ini 

但是当我运行docker-compose build我得到这样的警告:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20121212/yaml.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20121212/yaml.so: cannot open shared object file: No such file or directory in Unknown on line 0

当我试图使用yaml_parse()功能我得到这个错误:

Fatal error: Call to undefined function yaml_parse() ...

我试图做的是阅读yaml文件在Lumen项目的控制器中。

如何使用docker启用yaml_parse_file分机?

回答

0

此PECL扩展未与PHP捆绑在一起,请参阅更多http://php.net/manual/en/yaml.installation.php。 只需在您的php.ini中添加extension=yaml.so不会对您有所帮助。您必须正确安装PECL扩展,例如如果你使用Ubuntu的图像

$ sudo apt-get install php-pear libyaml-dev 
    $ sudo pecl install yamL 
    $ sudo sh -c "echo 'extension=yaml.so' >> /etc/php5/mods-available/yaml.ini" 
    $ sudo php5enmod yaml