在更换主机服务商,以及将博客搬家后,在上传图片时总是报一个错,不管是在编辑文档的页面,还是在多媒体管理页面。给出的信息是图片后处理失败,可能的原因是服务器忙,图片太大,或者是尺寸超标。然而诡异的是,当刷新页面的时候,这个图片是成功上传到服务器的,并且压缩更名等后处理步骤也已经完成。可是就是每次会有这么一个烦人的错误警示。而且很影响记录内容的连贯性,每次需要插入一张照片的时候,就需要刷新一下才能显示,那么我文章没写完,插入图片刷新就会把我没保存的文字给弄没,很是不方便。

在Chrome控制台显示的HTTP错误是这样:

1moxie.min.js:1 POST http://域名.com/blog/wp-admin/async-upload.php 520

我根据这个错误提示开始找原因,服务器忙首先排除。因为服务器是我自己的,忙不忙我清楚。另外这个问题也不是一换到这个主机商就出现了,而是用了一段时间才出现,所以这个方面不再考虑。第二是我的图片太大,这个是有可能,我服务器没有在这一条进行配置使用的是默认选项,最大照片不能超过2M,但是我最近上传的照片都是截图,体积很小,并且尝试了至少有几十张图片吧,大大小小不同格式都试过了,都是同样的错误。第三个原因也不可能了,尝试那么多图片,全部都没超过2500像素。

我谷歌查资料,这个问题出现的频率很低,查到的相关网页寥寥,很多都集中在三个可能原因的后两个,我尝试过改过像素限制,以及体积限制,都不能解决我的问题。stateOverflow基本上每个相关的帖子我都看过,每一个回答挨着尝试。wordpress官方论坛也有相关帖子,可惜在我这里统统失效。我前前后后查了有三次四想要把这个问题解决,每次都好打一会儿时间各种尝试,可是真是邪门儿了,上百个页面看过后就是没有一个奏效的方法,关键的关键是我最近并没有怎么捣鼓博客程序,也不是由于我自己搞坏的。

今天又一次忍不了了,劳动节假期宅在家也不能出门,下决心一定要把这个烦人的bug给解决掉。终于在这个页面找到了我遇到问题的真正原因

https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-http-image-upload-error-in-wordpress/

这个页面介绍了4中解决上传图片时候出现HTTP错误的方法,第一第二讲的可能是网络原因,以及服务器限制文件大小的原因。这个在我这里已经排除了,因为我清楚我的服务器图片大小限制,以及几个月了一直有这个错误也不是网络的原因。文中第三条引起了我的注意,文中讲WordPress使用两种方法来处理图片,一个是PHP的GD库,另一个是Imagick库。Wordpress会选择一个服务器上安装了的库去使用。并且文中讲到Imagick总所周知不稳定,经常引起莫名其妙的HTTP错误。我受到启发想起来,我在博客搬家后前期没有遇到我这篇文章的bug,是后来遇到的。在使用服务器一段时间后,我通过wordpress官方健康度检测,当时我记得推荐我安装Imagick库,说可以提高wordpress性能。我当时确实就安装了。会不会就是这个库的原因,以至于后来wordpress开始使用Imagick处理图片,从而出现我遇到的这个bug。

于是我从服务器上将这个库卸载,然后重启Apache:

sudo apt remove php-imagick
sudo service apache2 restart

曙光终于出现了,困扰我半年的一个bug终于小时了,真的是这个库的原因。

上边那个教程第三点讲我们可以通过修改主题functions.php文件,从而指定wordpress使用GD库而不是Imagick。我相信这个应该也是可以解决问题的。文中第四点讲Imagick在使用服务器资源的时候可能出问题,尤其在共享主机上。Imagick会尝试使用多线程从而提升图片处理效率,而有些主机上限制多线程的使用,从而出现报错的情况。通过修改.htaccess让Imagick只是用1个线程而避免报错。这个可能就是我遇到的问题的根本原因了,我现在使用的是一家小运营商,很便宜资源很足,3.99欧每个月,4GB双核,300GB的HDD+SSD Boosting,流量还无限,并且机房离我住的地儿还近,就几十公里。稍微熟悉点主机市场的同学都知道,这个价格就像是骗钱的一样让人难以置信。不过确实他们说到的这些真的足量,用起来很香。但是在看不见的地方,可能他们为了节省成本,就限制的比较紧,我猜测我的问题应该就是他们对于多线程做了限制的原因。

我复盘这个怪异问题出现的原因,首先是我安装了Wordpress作为可选项的一个库Imagick,这个不安装完全不影响wordpress的使用。另外我使用了一家极为不知名的服务商,各个事情都是有代价的,可能在绝大多数知名主机商对这个并没有做出限制,而我恰巧遇上了。第三是我是使用新服务器过了一段时间才安装的Imagick,开始使用的是GD也没有错误提醒。并且Imagick也是Wordpress推荐的,导致我遇到问题时候压根没考虑过是服务器的限制,我把所有的经历都放在在Wordpress找错上了。

我最终的解决办法,并不是在wordpress指定使用GD库,或者修改服务器配置让Imagick只使用一个线程。我是直接讲Imagick在服务器上给卸载了。。。因为这个库是个提升性能锦上添花的,我想先看看没有这个库用一段时间什么感觉,在有必要的时候,我再选择安装。

phpinfo 有imagick php artisan 没有_WordPress 上传图片时 async-upload.php出现520 Bug的原因及解决方案...相关推荐

  1. v-viewer图片打不开一直在刷新_WordPress 上传图片时 async-upload.php出现520 Bug的原因及解决方案...

    在更换主机服务商,以及将博客搬家后,在上传图片时总是报一个错,不管是在编辑文档的页面,还是在多媒体管理页面.给出的信息是图片后处理失败,可能的原因是服务器忙,图片太大,或者是尺寸超标.然而诡异的是,当 ...

  2. 今日头条上传图片时设置封面图报像素低的原因是什么

    今日头条发表原创图文时,在设置文章封面三张图时, 有时候会遇到错误信息"部分图片实际像素低于172*120, 不支持设置为封面". 然而我上传的每张图片都是大小超过4MB的高清晰图 ...

  3. Network下方什么请求也没有_今日头条上传图片时设置封面图报像素低的原因是什么...

    今日头条发表原创图文时,在设置文章封面三张图时, 有时候会遇到错误信息"部分图片实际像素低于172*120, 不支持设置为封面". 然而我上传的每张图片都是大小超过4MB的高清晰图 ...

  4. IOS上传图片旋转90度问题出现原因及解决方案

    IOS上传图片旋转90度问题出现原因及解决方案 参考文章: (1)IOS上传图片旋转90度问题出现原因及解决方案 (2)https://www.cnblogs.com/justdoityangbo/p ...

  5. 使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”

    在使用uploadify插件上传图片时,遇到一个比较坑的错误:上传时提示"Cannot read property 'queueData' of undefined". 遇到这个问 ...

  6. ant design 预览图片_AntD框架的upload组件上传图片时遇到的一些坑

    前言 本次做后台管理系统,采用的是 AntD 框架.涉及到图片的上传,用的是AntD的 upload 组件. 前端做文件上传这个功能,是很有技术难度的.既然框架给我们提供好了,那就直接用呗.结果用的时 ...

  7. postman上传图片时已经添加cookie,但仍显示未登陆

    postman上传图片时,已经添加过cookie,但是返回的结果是用户未登陆,如下图所示: 我的解决办法是:清楚cookie code中的cookie 最终的结果如下:成功 转载于:https://w ...

  8. 百度ueditor上传图片时如何设置默认宽高度

    百度ueditor上传图片时如何设置默认宽高度 一.总结 一句话总结:直接css或者js里面限制一下就好,可以用html全局限制一下图片的最大高度 直接css或者js里面限制一下就好,可以用html全 ...

  9. 使用七牛云上传图片时出现Network error during preQuery和运行时出现okhttp的问题

    问题描述 1.使用七牛云上传图片时出现Network error during preQuery,但网络正常 原因分析:排除网络原因,尝试网络配置方向调整 Configuration configur ...

最新文章

  1. JVM 内存优化设置
  2. java jxl之Excel的读取
  3. 基于Qt的A*算法可视化分析
  4. 挑战iOS!小米全新OS发布:22款机型首发
  5. Android 版本适配:9.0 Pie(API 级别 28)
  6. android studio编译找不到程序包,AndroidStudio编译提示“程序包R不存在”可能的解决方案,希望你用不到。。。-Go语言中文社区...
  7. 2019三星比2018好在哪_2019年全球可穿戴设备销量榜:苹果第一小米第二,华为排名很给力...
  8. 批量找关键词的软件-再也不用担心找不着 关键词了
  9. vue基础(三)——vue实例化对象
  10. 百度服务获取坐标放置在天地图上实例
  11. ICTCLAS代码学习笔记之CSpan类
  12. 网页放大缩小引起布局混乱_放大可能会引起关注
  13. 逆转三国攻略-各阶段关卡武将
  14. java 实现邮件带附件发送
  15. [论文阅读](图像/视频质量评价系列)
  16. 北京大学肖臻老师《区块链技术与应用》ETH笔记 - 3.0 ETH数据结构篇
  17. 通过线构造面(C# + ArcGIS Engine 9.2)
  18. cad图片边框怎么去掉
  19. Python+Opencv身份证号码区域提取及识别!
  20. 机器学习中的数学——Adam(Adaptive Moments)

热门文章

  1. (转) Lua: 给 Redis 用户的入门指导
  2. Linux桌面虚拟化技术KVM
  3. HP380 G9服务器RAID划分
  4. Linux 服务器为什么被黑
  5. 程序逻辑的处理方式尽量不要写在SQL文中
  6. 【Oracle】配置客户端监听
  7. c#执行插入sql 时,报错:异常信息:超时时间已到。在操作完成之前超时时间已过或服务器未响应
  8. php安装xmlwriter遇到报错及解决方法
  9. SLF4J错误:NoSuchMethodError解决方案
  10. FutureTask的get()方法之异常处理