WordPress上传图片错误:不是合法的JSON响应

最近在迁移WordPress到新服务器时遇到一个问题,就是在编辑文章上传图片时,会报错:此响应不是合法的JSON响应,经过多方验证,最后得出结论,是由于php的一些模块没有开启的原因,下面就详细讲一下,php安装后应该开启哪些模块及开启方法。

一、错误审视

错误如下:

在通过古德温编辑器进行直接复制粘贴或者点击上传图片的时候会出现这个错误,先上传到媒体库再从媒体库添加则没有这个问题,因此,网上很多攻略都是说禁用古德温编辑器,或者安装经典编辑器插件,这些方法治标不治本,是没有找到问题的根源!

wpupload001 - WordPress上传图片错误:不是合法的JSON响应

正确的解决方法是开启php必要的模块设置

二、PHP模块开启和参数设置

编辑php.ini,里面有很多配置要修改

1.修改扩展文件的路径

apache021 - WordPress上传图片错误:不是合法的JSON响应

把 ;extension_dir = “ext” 前面的分号去掉,然后引号里改成ext文件夹的绝对路径。

2. 修改需要加载的扩展文件,取消部分扩展程序的注释(注释就是分号)

找到扩展程序的部分

apache022 - WordPress上传图片错误:不是合法的JSON响应

修改后如下:

apache023 - WordPress上传图片错误:不是合法的JSON响应

3. 设置默认的时区

找到这个部分:

apache024 - WordPress上传图片错误:不是合法的JSON响应

修改问Asia/Shanghai,如图

apache025 - WordPress上传图片错误:不是合法的JSON响应

4. 设置 ssl

找到这个部分(我的是在文件末尾)

apache026 - WordPress上传图片错误:不是合法的JSON响应

修改为cacert.pem,如图:

apache027 - WordPress上传图片错误:不是合法的JSON响应

5. 开启php短标签

找到; short_open_tag

apache028 - WordPress上传图片错误:不是合法的JSON响应

去掉注释,改为short_open_tag = on

apache029 - WordPress上传图片错误:不是合法的JSON响应

6. 以CGI模式运行PHP

找到; cgi.force_redirect = 1

apache030 - WordPress上传图片错误:不是合法的JSON响应

取消注释,改为cgi.force_redirect = 0

apache031 - WordPress上传图片错误:不是合法的JSON响应

7. 找到; fastcgi.impersonate = 1,取消注释

apache032 - WordPress上传图片错误:不是合法的JSON响应

取消后如图:

apache033 - WordPress上传图片错误:不是合法的JSON响应

8. 就在fastcgi的下面,取消; cgi.rfc2616_headers = 1的注释

apache034 - WordPress上传图片错误:不是合法的JSON响应

取消后如图:

apache035 - WordPress上传图片错误:不是合法的JSON响应

我们把修改好的php.ini文件复制一份,放到C盘的windows文件夹下

apache036 - WordPress上传图片错误:不是合法的JSON响应

三、验证错误是否已经解决

经验证,问题已解决!

此条目发表在Others, PHP, WordPress分类目录,贴了, , , , , 标签。将固定链接加入收藏夹。

发表回复