在使用WordPress上传较大像素的图片文件时,有WordPress独立站客户会碰到“图像后期处理失败。可能服务器忙或没有足够的资源。请尝试上传较小的文件。推荐的最大尺寸为2560像素。”的错误提示,导致图片文件无法正常上传到网站的问题。本文教程,WPPOP教你如何修复这个错误。
中文错误提示为:
图像后期处理失败。可能服务器忙或没有足够的资源。请尝试上传较小的文件。推荐的最大尺寸为2560像素。
英文错误提示为:
Post-processing of the image failed likely because the server is busy or does not have enough resources. Uploading a smaller image may help. Suggested maximum size is 2560 pixels.
“图像后处理失败”是什么,为什么会发生?
WordPress 在处理上传的每张图片时,都会创建更小的版本,保证可以在平板电脑或手机等较小的设备上响应显示。这有助于在用户加载您的网站时节省数据费用并提高页面速度。
但是,在上传图像的 Web 服务器上完成的“后期处理”时,这就是问题的原因可能是:您的 Web 服务器没有足够的内存和处理资源分配给它来允许它处理过大的图像。
也可能是因为您的托管服务提供商对您的 Web 服务器的 I/O 使用设置了上限,并且当您尝试上传非常高分辨率的图像时,您很快就会达到您的 I/O 上限,而 WordPress 无法进一步处理任何图像处理,向您抛出此错误。这是共享网络托管计划的典型情况,如果这是导致您出现问题的原因,您将不得不迁移到更强大的托管计划,而此限制不是问题。
还有,出现此“图像后处理失败”错误的另一种可能性是您上传的图像后期处理时间过长,以及 WordPress 试图运行的脚本进行后处理图像超时,因为您的服务器设置被配置为在服务器切断它们之前为脚本提供一定的时间来完成。
解决方法
方法1:清理网站(或服务器)缓存
如果你安装了WordPress缓存插件,请先清理网站缓存;如果你网站所在服务器(主机)有缓存功能,请清理更新服务器(主机)的缓存数据;此外,清理浏览器缓存也是必须的。
方法2:在上传图片之前,先优化压缩图片文件。
如果您要上传较大的未压缩 JPEG 图像(可能为 2M或更大),强烈建议您先用制图软件或者在线图片压缩工具来优化压缩图像文件大小,这样既能够给自己的服务器或者对象存储省空间,还能给访客访问速度提供优势。一般WordPress建议图片大小是控制在2560px以内的宽度。
图片在线压缩工具,推荐使用 在线智能PNG和JPEG压缩:https://tinypng.com/
方法3:较大图片,一次上传一张
在上传较大的图片文件时,我们最好单独上传,允许服务器释放用于处理前一个图像的内存资源,从而释放这些资源来处理正在上传的下一个图像。
方法4:减轻 Web 服务器的负载
更好的是,删除可能占用服务器资源和内存的额外 Web 应用程序和其他安装。例如,不要使用一台服务器来托管多个 WordPress 安装。每个都会占用一定数量的服务器空间,并使您的服务器膨胀。
方法5:调整您的 PHP 设置以增加最大执行时间和最大输入时间。
在 php.ini 文件中更改这些设置,也可以在 cPanel 中修复它们。我们将要更改以下设置并将它们设置为最大可能值:
max_execution_time 360
max_input_time 240
方法6:禁用2560及以上大尺寸图片的剪切功能
在当前网站使用主题的 functions.php 文件中,添加以下代码:
add_filter( 'big_image_size_threshold', '__return_false' );
或者直接安装 Disable “BIG Image” Threshold 插件也可以。
总结,如果您在上传较大的图像文件时,可能需要更多服务器资源来对图片进行后期处理,比如剪切生成多种不同尺寸的缩略图等,请考虑切换到具有更多服务器资源的更高端托管平台。这主要是出现“图像后期处理失败。可能服务器忙或没有足够的资源。请尝试上传较小的文件。推荐的最大尺寸为2560像素。”的错误的真正原因。更好的托管服务可以让您完全避免“图像后处理失败”的错误。