问题:
我有一个Docker组合与一个nginx服务和一个PHP服务。当我试图打开dev项目的页面时,会遇到以下错误:
致命错误:调用第16行/usr/share/nginx/html/some_project/some_path/Bootstrap.php中的未定义函数bindtextdomain()
我发现这是一个缺少依赖的问题:php-gettext。
My配置:
在我的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启动:无法加载动态库'/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行未知的文件或目录中没有此类文件或目录
在我看来是什么:
我认为
RUN apt-get update && apt-get install -y php-gettext gettext不安装php-gettext扩展。我也不知道原因。我认为这是一个PHP文档化的特定问题。
发布于 2017-04-11 08:58:19
因此,经过一番努力,我终于找到了如何在PHP容器中安装这个扩展!
如何解决这个问题?
在Dockerfile中使用docker-php-ext-install而不是apt-get install:
FROM php:5.6.30-fpm
MAINTAINER DarckCrystale "xxx@xxx.xx"
# Here I install the php-gettext extension
# and it works! :D
RUN docker-php-ext-install gettext
# Setup PHP configuration
ADD php.ini /usr/local/etc/php/conf.d/php.ini有什么问题?
PHP容器有一种安装PHP扩展的特定方法:
如何安装更多的扩展 我们提供帮助脚本
docker-php-ext-configure、docker-php-ext-install和docker-php-ext-enable来更容易地安装PHP扩展。
因此,php-gettext扩展安装似乎只能使用提供的脚本。
https://stackoverflow.com/questions/43341209
复制相似问题