首先说明,这是搭建WordPress网站的所有用户都可能遇到的一个问题,所以,这是一个常规的WordPress问题。
这个问题不但一直困扰着国内用户,国外的用户也是对这个问题深恶痛绝,因为这个问题最尴尬的是,上传图片,就提示http错误,但导致这个错误的问题却各种各样。
网上也有很多种解决这种问题的办法,国内的不是很系统,但也有写了3条,4条的,国外有一些教程非常完整,有各种解决的办法,但是在WordPress官方论坛里,大部分遇到这个问题的用户,在尝试各种解决办法之后,都会说没个鸟用。
这确实是一个很尴尬的问题。
这次Wopus也经历了这个问题的折磨,前后大概有几个月的时间,都找不到思路。
虚拟主机有这种问题,独立的服务器也有这种问题,分两部来说:
1,虚拟主机
如果一台设置完全正确的虚拟主机,是不会有这种问题发生的。
解决办法是从增加内存,增加单个上传文件的大小,增加单个php的执行时间。
因为是虚拟主机,所以增加这些参数,都是因为服务器的设置不正确导致的。这就相当于在修复服务器的设置。
如果生效了,那就好,如果不生效,可能服务器的设置问题比较大,那就建议更换新的主机,新的主机如果继续选择虚拟主机,记得先测试一下是否有相同的问题。
导致这个问题还可能是图片的路径不正确。WordPress最新版已经不可以通过页面操作修改图片上传路径了。
这个可以到数据库里看看,具体的路径是:登陆phpmyadmin/当前使用的WordPress数据库/wp_options/upload_url_path,这个如果为空,可以填写上:wp-content/uploads/ 试试。
如果服务器完全正确,这样的设置是可以解决问题的。
2,独立的服务器
因为VPS服务器的配置不一样,这个会影响到系统参数的大小,但是现在的最少也都有1核1G,其实也不存在这样的问题。
如果查看系统日志,可以看到有些是执行时间timeout,但是修改了php.ini的执行时间,依然不能解决这个问题,至于修改nginx或者apache的的conf文件,增加client_max_body_size,依然不能解决问题,因为默认50M已经足够了。
至于有些教程说,不要上传较大体积的图片,这个就更胡扯了,这个应该是2010年之前的办法,当时受限于服务器本身的配置和本地宽带的上传带宽比较小,可能会出现这种问题,但现在完全不会出现这种问题了。
如果独立的服务器出现这种问题,而你又尝试了网上的各种解决办法而没有效果,那建议你重新编译一下php。
如果可以,升级php版本或者降级php版本也是可以的,而且,Wopus可以确认,这是解决这种问题的最终,也是最有效的办法。
延伸阅读:
3,有些用户遇到了这种问题,会尝试升级WordPress到最新版,这也是一种办法,但这种办法不是最有效的,可以尝试。
目前Wopus已经把所有遇到这个问题的客户的问题解决了,最后的感慨就是,一台配置完全正确的服务器是最关键的,因为这样可以避免这种问题的出现,就是出现了,解决起来也会容易一些。