问题:
我有一个带有 nginx 服务和 PHP 服务的 Docker 组合。当我尝试打开我的开发项目的页面时,我遇到了这个错误:
致命错误:在第 16 行的 /usr/share/nginx/html/some_project/some_path/Bootstrap.php 中调用未定义的函数 bindtextdomain()
我看到这是缺少依赖项的问题:php-gettext
.
我的配置:
在我的 Dockerfile 中,我尝试安装它:
FROM php:5.6.30-fpm
MAINTAINER DarckCrystale "xxx@xxx.xx"
# Here I try to install the php-gettext extension
# but it does not work
RUN apt-get update && apt-get install -y php-gettext gettext
# Setup PHP configuration
ADD php.ini /usr/local/etc/php/conf.d/php.ini
在我的 php.ini 中,我加载它:
extension=gettext.so
其他信息:
当我在我的容器中运行时
php -i | grep extension_dir
我显示了这条消息:
PHP 警告:PHP 启动:无法加载动态库 '/usr/local/lib/php/extensions/no-debug-non-zts-20131226/gettext.so' - /usr/local/lib/php/extensions/no -debug-non-zts-20131226/gettext.so:无法打开共享对象文件:第 0 行的 Unknown 中没有此类文件或目录
在我看来是什么:
我认为
RUN apt-get update && apt-get install -y php-gettext gettext
不安装php-gettext
扩展。我不知道为什么。我认为这是一个 PHP Dockerized 的特定问题。