除非使用GD图像编辑器,否则上传超过7Mb的文件时出现HTTP错误

时间:2018-06-22 作者:Hendeca

我最近注意到,当我将大于7mb的文件上传到我开发的Wordpress站点时,会出现HTTP错误。我已经检查了一些PHP变量,并验证了memory_limit 设置为256Mpost_max_sizeupload_max_filesize 设置为128M。阅读后this thread, 我尝试安装默认到GD插件,该插件使用GD作为默认的WP\\U Image\\u编辑器类。

安装插件后,我再也没有这个问题了。也就是说,我很好奇是否有办法用更新的WP\\u Image\\u Editor类解决这个问题?

我还注意到,当我收到HTTP错误时,我可以查看附加到我添加该文件的帖子的文件,并看到该文件实际上在那里,并且已成功上载。然而,Wordpress在媒体浏览器中显示它似乎有问题。

我还注意到,如果我上传多个7mb以上的大型图像,我会将最新的图像作为媒体库中的第一项。如果删除该图像,我将看到下一个最近上载的图像。由于某些原因,Wordpress只能显示最新的图像,缩略图似乎已损坏。但是,如果导航到上载文件的URI,则可以看到该文件已成功上载。

有人知道这是怎么回事吗?这是Wordpress中正在解决的已知错误吗?谢谢

3 个回复
SO网友:Andy Macaulay-Brook

我有时也会遇到同样的问题和症状。

这是因为图像太大,内存不足。不是压缩数据的文件大小,而是实际的宽度x高度x颜色深度。

您可以看到完整大小的图像,因为它上载得很好。您在媒体浏览器中遇到问题,因为WP在缩放和裁剪图像时内存不足,因此没有可用于媒体浏览器缩略图的版本。

我总是发现,为进程分配更多内存可以解决问题。或者使用较小的图像(尺寸,而不是文件大小)。

WordPress将使用WP\\u MAX\\u MEMORY\\u LIMIT和PHP内存限制中的较高者,因此只要您的主机允许,最简单的事情就是在WP配置中设置WP\\u MAX\\u MEMORY\\u LIMIT。php:

define( \'WP_MAX_MEMORY_LIMIT\', \'257M\' ); // you choose how much
不管怎样,图像处理的默认值是256M,因此如果在调整图像大小时遇到问题,则需要大于256M的值。

只要您的主机允许PHP使用@ini_set 这样就行了。

SO网友:Evaluation Unit

您需要更改php中的内存限制。ini文件。您需要添加或更新以下信息:

define(\'WP_MEMORY_LIMIT\', \'256M\');
根据我个人的经验,我不会将其设置为256 MB,但我可能会将其设置为60 MB,而不是您上面所说的40 MB。

SO网友:Ariful Islam

如果您正在运行apache base webserver,那么可以将此代码用于htaccess文件

SetEnv MAGICK_THREAD_LIMIT 1

我已使用此代码修复了我的问题。你可以试试。

结束

相关推荐

https images not displaying

Setup嗨,伙计们!我有个奇怪的问题。我正在使用安装了ssl证书的wordpress Premium BeTheme。Problem问题是,虽然图像是用https上传到网站上的,但它们没有显示出来。如果我手动将图像的URL从https切换到http,它们就会开始显示。What I have done?我尝试过在internet上卸载ssl证书和几乎所有的解决方案,但都没有解决。Here is the URL of the website : https://uptimeelite.com/