运行Wordpress Docker容器时启用EXIF支持

时间:2017-04-22 14:24:55

标签: php wordpress docker docker-compose

我正在尝试在official Wordpress Docker container内运行Wordpress网站。

我构建的Wordpress网站依赖于使用exif_read_data从照片中提取元信息。我知道PHP需要配置--with-exif标志才能生效。

当我从Docker容器运行我的站点时,这是<?php phpinfo() ?>输出的 Configure Command 部分: './configure' '--with-config-file-path=/usr/local/etc/php' '--with-config-file-scan-dir=/usr/local/etc/php/conf.d' '--disable-cgi' '--enable-ftp' '--enable-mbstring' '--enable-mysqlnd' '--with-curl' '--with-libedit' '--with-openssl' '--with-zlib' '--with-apxs2' 'CFLAGS=-fstack-protector-strong '-fpic' '-fpie' '-O2'' 'LDFLAGS=-Wl,-O1 '-Wl,--hash-style=both' '-pie'' 'CPPFLAGS=-fstack-protector-strong '-fpic' '-fpie' '-O2''

如何重新配置​​PHP以启用EXIF支持?我想继续使用官方的Wordpress Docker容器,因为它看起来效果不错。

我的docker-compose.yml就在这里:https://github.com/quis/quis.cc/blob/d89efebefc20f688afbd70f8d7a58e35380581e9/docker-compose.yml

3 个答案:

答案 0 :(得分:1)

我尝试像其他答案一样安装和启用 exif,但运气不佳。

最后,它通过添加包来工作。

RUN apk add --no-cache php7-exif

我使用了 php:7.4-alpine

答案 1 :(得分:0)

好的,我明白了。

运行docker-php-ext-install exif即可启用EXIF支持 命令。此命令仅在构建容器时有效。

我无法修改官方容器; Docker这样做的方法(这是我不理解的部分)是在官方容器之上构建我自己的容器。然后当我构建自己的容器时,我可以运行命令来启用EXIF支持。其他一切都是从官方的Wordpress容器继承而来的。所以我创建了一个名为Dockerfile的文件,其中包含:

FROM wordpress:latest

RUN docker-php-ext-install exif

ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["apache2-foreground"]

然后我运行了这个shell命令来从这个文件构建一个图像:
docker build -t wordpress-exif .

然后,这只是将Docker撰写文件指向我的自定义的情况 容器,而不是通用容器。因此,在docker-compose.yml我将image: wordpress:latest更改为image: wordpress-exif

答案 2 :(得分:0)

如果您使用的是PHP 7.2+,则exif扩展名可能已经安装但被禁用。将此行添加到Dockerfile中以启用它:

a