

统一声明:
1.本站联系方式QQ:709466365 TG:@UXWNET 官方TG频道:@UXW_NET 如果有其他人通过本站链接联系您导致被骗,本站一律不负责! 2.需要付费搭建请联系站长QQ:709466365 TG:@UXWNET 3.免实名域名注册购买- 游侠云域名 4.免实名国外服务器购买- 游侠网云服务
先跟你说清楚为啥会报这错——WordPress上传图片用的是AJAX异步请求,服务器处理完要返回JSON格式的结果(比如“上传成功”或者“失败原因是文件太大”)。如果服务器返回的不是合法JSON(比如因为权限不够写不了文件,直接返回了错误页面的HTML),WordPress就“读不懂”这个结果,直接给你蹦这个提示。其实本质就是“服务器没按规矩回消息”,咱们得顺着原因找解法。
第一个要查:wp-content文件夹权限对不对?
WordPress的图片、插件、主题都存在wp-content
文件夹里,要是这个文件夹的权限设置错了,服务器不让WordPress往里面写东西,肯定报这错。去年我帮朋友的健身博客修过这问题:他的wp-content
权限设成了700(只有文件所有者能读能写,服务器的www-data
用户没权限),我用FTP登上去改成755,再传图就好了。
改权限的步骤超简单:用FTP工具(比如FileZilla)连服务器,找到wp-content
文件夹,右键点“文件权限”,把数字改成755(或者有些便宜主机要775,90%的情况755没问题)。改完记得刷新页面,传张图试试——能传就是好了。
注意:别改成777!这权限太松了,黑客能随便往里面传恶意文件,风险超大。
第二个常见原因:插件冲突(尤其是图片类插件)
你有没有装过图片压缩、水印、画廊、懒加载这类插件?这些插件很容易和最新版WordPress“打架”——我之前给一个美妆博主做优化,她装了三个图片插件:一个压缩、一个加水印、一个做瀑布流,结果上传时就报这错。
解决办法特笨但有效:先到后台“插件”页面,全选插件点“禁用”,然后再传张图试试——如果能传了,说明是插件的问题。接下来逐一启用插件,每启一个就传次图,直到找到那个“搞事”的插件,直接卸载或者换个替代的就行。比如她那个水印插件是三年没更新的老款,我给她换了个叫“Easy Watermark”的新插件,立马就好了。
第三个要查:PHP内存够不够用?
WordPress上传图片时,要先把图片读到PHP的内存里处理(比如生成缩略图、压缩尺寸)。如果内存不够,处理到一半就“崩了”,服务器返回的结果肯定不对。比如我之前帮一个旅行博主修过:他的PHP内存限制是64M,传一张5MB的风景图都不行,我让他改了wp-config.php
文件,立马就好了。
改的方法:用FTP找到网站根目录的wp-config.php
(就是存数据库密码的那个文件),在“/ That’s all, stop editing! Happy publishing. /”这行上面,加一句:
define('WP_MEMORY_LIMIT', '256M');
保存后再传图——如果能传5MB以上的图片,说明内存够了。要是改了没用,可能是主机商限制了PHP内存的最大值(比如有些便宜主机只给128M),得联系客服帮你调,别自己硬改。
第四个坑:URL协议不一致(https和http混了)
你有没有把站点从http改成https?如果改了,但WordPress里的WP_HOME和WP_SITEURL还是http,上传时就会“跨协议”——AJAX请求是从https的页面发往http的服务器,服务器返回的结果WordPress不认,直接报这错。
我之前帮一个妈妈博主修过这问题:她的站点已经换成https了,但WP_HOME还是http,我帮她在后台“设置→常规”里,把“WordPress地址(URL)”和“站点地址(URL)”都改成https://你的域名
,保存后再传图,立马就好了。
要是后台进不去(比如改完URL后报错),可以用FTP改wp-config.php
,加两行:
define('WP_HOME', 'https://你的域名');
define('WP_SITEURL', 'https://你的域名');
保存后就能正常进后台了。
附:常见原因+解决方法表格(直接对着查)
常见原因 | 解决方法 | 验证方式 |
---|---|---|
wp-content权限错误 | 用FTP改权限为755/775 | 重新上传图片 |
插件冲突 | 禁用所有插件逐一排查 | 启用插件后测试 |
PHP内存不足 | 改wp-config.php加内存限制 | 传5MB以上图片测试 |
URL协议不一致 | 统一WP_HOME为https | 检查站点地址是否为https |
最后再提醒你几个小细节:
wp-config.php
和.htaccess
,要是改错了能立马恢复; 我之前帮一个妈妈博主修的时候,她的问题就是URL协议不一致——站点已经换成https了,但WP_HOME还是http,我帮她在设置里改成https,再传图就好了,她高兴得给我发了盒手工曲奇。其实这错真没那么复杂,就是一层窗户纸,捅破了就好了。
要是你按这些方法试了,不管成没成,都欢迎在评论区告诉我——我去年帮三个客户修过这问题,都是这几个原因里的一个,你大概率能碰到。要是还没好,可能是更少见的情况(比如服务器的mod_security规则拦了AJAX请求),那得联系主机商的技术支持帮忙查日志了。
你改了wp-content的755或者775还传不上图?先别慌,先去翻它下面的uploads文件夹——就是WordPress默认存图片的地方,有时候这子文件夹的权限会被单独改掉,比如之前有人装插件时不小心点错了,或者主机商默认给的权限不对。你用FTP进去看看,uploads的权限是不是也是755?要是显示的是700或者其他数字,赶紧改成和wp-content一样的,比如755,改完刷新页面再传张图试试——很多时候问题就出在这儿,父文件夹权限对了,子文件夹忘了同步改。
要是改了uploads还是不行,你可以试个临时办法——把uploads的权限暂时改成775,就测试这一次啊,千万记住测试完得改回755,不然太不安全了(775权限相当于让别人能写你文件夹,容易被黑客钻空子)。要是改775能传了,说明是权限层级的问题,比如服务器对父文件夹的权限继承没生效,这时候改回755一般也能正常用。另外还有个容易漏的点:你用FTP改权限的时候,有没有勾选“递归处理子文件夹”?就是那个“把权限应用到所有子目录和文件”的选项,得勾上!我之前帮朋友改的时候没勾这个,结果wp-content权限改了,里面的小文件夹还是老权限,白折腾半天,勾上之后所有子文件夹都同步改了权限,立马就好传图了。
改了wp-content权限还是上传失败,怎么办?
如果改了755/775权限仍无效,先检查子文件夹(比如wp-content/uploads)的权限——有时uploads文件夹权限可能单独被修改过,同样改成755;若还是不行,尝试暂时将uploads文件夹权限改为775(仅测试用,测试后改回755),排除权限层级问题。 确认FTP工具的“递归处理子文件夹”选项是否勾选,确保子文件夹权限也同步修改。
禁用所有插件后能上传,但逐一启用找不到冲突插件怎么办?
若逐一启用后未发现问题,可能是多个插件组合冲突(比如插件A+插件B同时启用才会报错)。可以尝试分组启用:先启用一半插件测试,缩小范围;或优先排查“图片处理类”“缓存类”“SEO类”插件(这类插件更易干扰上传流程)。若仍找不到, 暂时保留常用插件,卸载长期未更新(比如超过1年没更新)的插件,降低冲突概率。
PHP内存限制改了但没生效,是什么原因?
部分虚拟主机会限制PHP内存的“最大值”,即使改了wp-config.php的256M,若主机商只允许128M,设置也不会生效。此时需要登录主机控制面板(如cPanel、宝塔),查看“PHP设置”里的“内存限制”是否与wp-config.php一致;若不一致,在控制面板内修改后再测试,或直接联系主机商客服调整。
URL协议已经统一为https,为什么还报JSON错误?
可能是浏览器缓存导致的“旧地址残留”——清除浏览器缓存(Ctrl+Shift+Delete)后再试;或检查网站根目录的.htaccess文件,确保301重定向规则正确(比如强制https的规则是否生效)。 若使用CDN(如Cloudflare),需在CDN后台清除缓存,避免旧的http地址被缓存。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!
站长QQ:709466365 站长邮箱:709466365@qq.com