2016-09-13 112 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