docker php7 imagick,Docker PHP7.x WordPress提示服务器不支持图像旋转功能

dockerlogo-s.jpg

问题

wodpress不能裁切图片,提示如下:

您的服务器不支持图像旋转功能

查阅Nginx日志,发现有如下报错:

call_user_func_array() expects parameter 1 to be a valid callback, function ‘imagejpeg’ not found or invalid function name in class-wp-image-editor.php on line 420 .

解决问题

Nginx日志关键信息function 'imagejpeg' not found。

imagejpeg是PHP GD库的函数,wodpress处理jpeg图像时会调用。

imageXXXX函数一般都是GD库函数,处理方法通用。

检查GD库支持

phpinfo();

搜索GD库一栏,如果有GD库支持,会显示如下。

670cae0c89474be5bca514b2ab8b57af.png

如果安装了GD库,在该栏中检查是否有jpeg支持。

114abceab6ad10f7c76694975e51e141.png

没有显示jpeg这一行,则说明GD没有jpeg库。

没有安装GD库也没关系,下面的步骤会重新编译GD库。

安装jpeg库和其他库

我的php7安装在alpine linux中,使用apk安装软件。

进入容器,执行安装命令。

# 这里安装了freetype库、jpeg库、png库,按需选择

$ apk add --update --no-cache \

freetype-dev \

libjpeg-turbo-dev \

libpng-dev

安装了freetype,libjpeg-turbo-dev,libpng-dev。

添加GD库编译选项

$ docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/

重新编译安装GD库

$ docker-php-ext-install gd

(可选)安装imagick支持

有时,WordPress会在GD与imagick中二选一来执行图片操作。

当然,只安装GD库也行。

$ apk add --update --no-cache autoconf g++ imagemagick-dev libtool make pcre-dev

$ pecl install imagick

$ docker-php-ext-enable imagick

$ apk del autoconf g++ libtool make pcre-dev

安装了imagick扩展并启用。

重启PHP容器

退出到宿主机中,使用如下命令重启PHP容器。

docker restart f12da14123(使用docker ps 获取的容器id)

引用资料

[头图]【Docker,Inc.】Docker Docker Logo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值