今天老魏升级了主题到最新版本后,在编辑文章时通过WordPress 媒体库图片上传时提示“图像后期处理失败。如果这是一张照片或较大图像,请将其缩小到2500像素并重新上传。”老魏使用WordPress 5.3.2 后偶尔会遇到这样的问题,于是开始一步步检查问题到底出在哪里。
wordpress页面会提示如下:
中文提示:图像后期处理失败。如果这是一张照片或较大图像,请将其缩小到2500像素并重新上传。
英文提示:Post-processing of the image failed. If this is a photo or a large image, please scale it down to 2500 pixels and upload it again.
这个问题不是每次上传图片都会出现,是很少数的情况下出现,所以也一直没有分享出文章来,所以借着这次机会记录下来备用。
尝试解决失败
因为刚升级了主题版本,老魏首先怀疑是不是新版本主题改动了什么代码导致的。索性恢复到上一个版本主题,再次尝试上传图片还是失败。
上网搜索了一番遇到此类问题的人不少,也有分享了解决方法。比如缙哥哥博客分享了5种解决方法如下。
常规解决办法失败
1、重启(清理缓存)解决
W3 Total Cache、WP SUPER CACHE、wp rocket、Memcached 或 Redis 等缓存插件、组件。清理掉这些插件生成的缓存文件,也许问题就解决了。
如果实在不知道是什么缓存引起的问题,重启服务器也许能解决。
2、代码或插件禁止大图片裁剪功能
在当前主题的 functions.php 文件中添加:
//禁用WordPress大图片(2560大小)裁剪功能
add_filter( ‘big_image_size_threshold’, ‘__return_false’ );
也可以用 Disable BIG Image Threshold插件对 WordPress5.3版本以上的大图像阈值禁用。
以上两种办法经过老魏测试后是无效的,也许情况不同,每个网站的服务器环境、情况都会不相同,如果你也遭遇了这类问题可以试试,说不定就能解决。
3、提前处理好图片
一般 wordpress主题正常显示的图片宽度在900以下,也有更大尺寸的。无论尺寸多大,在上传图片之前应该用 photoshop等软件编辑好图片尺寸,再压缩一下,这样就能符合 wordpress程序要求了。
老魏这里的图片都是多次处理压缩过的,一般不超过100K大小,不存在超大图片的问题。而且老魏经手也有图片展示型的网站,一个页面十几张图片,每张图片都是几百k大小,上传也从没出过问题。
4/5、增加PHP内存限制和更改Nginx上传文件大小
php内存限制和nginx默认上传文件峰值都是 50M以上,这两条老魏认为没必要,既然是处理过和压缩过的图片就不会很大尺寸了,一般几十k,几百K~1M已经很大了,这样的文件上传都没问题。
老魏发现的解决办法
比如拿到一张图片原图宽度是 944px,为了节省空间会用 photoshop压缩到 700px,高度自动约束比例。于是老魏把处理后的宽度随意改成 900px,再次上传就正常了。
比如本文开头的那张图片原图宽度 502px,直接上传就失败,改成 500px就传上来了。
再比如老魏有次遇到原图宽度 770px,修改成 700px就无法上传了,上传原图就没问题。
前面说过这种问题在我这里是偶发性的,老魏只能主观的认为和改变了图片尺寸有莫名其妙的关系,我这里图片的编辑步骤都是一样的,至于为什么有少数几个图片不听话我也不清楚,不过解决了就好,总之是很少发生这种情况,不用太去操心。
暂无评论内容