Docker容器中的PHP intl扩展

Mar*_*uti 6 php php-extension intl docker

我正在尝试在Docker容器中加载国际PHP扩展,但似乎无法正常工作。

已经尝试过这个https://github.com/docker-library/php/issues/57,但是我仍然收到相同的错误消息:

configure: error: in `/usr/src/php/ext/intl':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details
Run Code Online (Sandbox Code Playgroud)

我的Docker文件如下所示:

RUN apt-get -y update \
&& apt-get install -y libicu-dev\
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl
Run Code Online (Sandbox Code Playgroud)

它是从php:fpm加载的

有没有人经历过这个问题并解决了这个问题?它让我发疯。

Cal*_*ran 30

一旦我在终止运行命令的第二行的反斜杠之前添加了一个空格,您的代码就非常适合我:

RUN apt-get -y update \
&& apt-get install -y libicu-dev \ ### <-- Added space here
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl
Run Code Online (Sandbox Code Playgroud)


rij*_*jam 6

似乎缺少某些要求。以下代码段对我有用:

ARG PHP_VERSION=5.6
FROM php:${PHP_VERSION}-fpm-jessie

apt-get install -y zlib1g-dev libicu-dev g++ \
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl
Run Code Online (Sandbox Code Playgroud)


Hir*_*ter 5

不幸的是,一些 php 扩展依赖于其他程序。有一个名为docker-php-extension-installer 的项目,您可以使用它来安装 PHP 扩展。它将确保所需的依赖项也存在。有关我如何将其实际集成到 Dockerfile 中的示例,请参阅/sf/answers/3935701031/ 。