阿里云云虚拟主机遇到WordPress【此响应不是合法的JSON响应】的解决办法
问题描述
在使用阿里云云虚拟主机搭建WordPress网站时,可能会遇到一个常见的问题:页面提示“此响应不是合法的JSON响应”,这个问题可能是由于服务器配置、插件或主题等原因导致的,本文将详细介绍如何解决这个问题。
问题分析
1、服务器配置问题
我们需要检查服务器的配置是否正确,请确保服务器已安装并启用了PHP JSON解析扩展,在php.ini文件中,找到以下两行(如果没有,请添加):
extension=json.so extension=php_json.dll
重启服务器以使更改生效。
2、插件或主题问题
如果服务器配置正确,问题仍然存在,那么可能是插件或主题的问题,请尝试禁用所有插件和主题,然后逐个启用,以找出导致问题的插件或主题,如果找到了问题所在,请更新插件或主题到最新版本,或者寻找替代方案。
3、数据库问题
另一个可能导致这个问题的原因是国内访问速度较慢,可以尝试使用国内镜像站点的方式来加速访问,可以使用Cdnjs提供的CDN服务,将WordPress网站的静态资源托管到CDN上,从而提高访问速度。
解决方案
1、检查并修改php.ini文件
如上所述,首先需要检查并修改php.ini文件中的相关配置,具体操作如下:
登录阿里云云虚拟主机控制台;
找到php.ini文件,点击编辑;
在文件末尾添加上述两行代码;
保存并退出编辑页面;
重启服务器以使更改生效。
2、禁用插件和主题逐个排查问题所在
如上所述,如果服务器配置正确,问题仍然存在,可以尝试禁用所有插件和主题,然后逐个启用,以找出导致问题的插件或主题,具体操作如下:
登录阿里云云虚拟主机控制台;
找到WordPress管理页面;
点击左侧菜单栏的“插件”或“主题”;
在页面右上角点击“禁用”;
逐个启用已禁用的插件或主题,观察页面是否恢复正常;
如果恢复正常,说明是该插件或主题导致的问题;如果仍出现问题,继续禁用其他插件或主题,直至找到问题所在。
3、使用CDN加速访问
如上所述,国内访问速度较慢可能导致这个问题,可以尝试使用国内镜像站点的方式来加速访问,具体操作如下:
登录Cdnjs官网;
注册并登录账号;
选择合适的CDN服务商,如腾讯云、阿里云等;
将WordPress网站的静态资源上传至CDN服务商;
在WordPress网站的functions.php文件中添加以下代码:
add_filter('https_request_args', 'cdn_https_request_args'); function cdn_https_request_args($args){ if(!empty($args['url'])){ //检测url参数是否存在 $url = parse_url($args['url']); //解析url地址协议及域名主机信息 [$scheme, $host, $port, $path] if(isset($url['host']) && $url['host'] != ''){ //检测是否有域名信息 [$scheme, $host, $port, $path] 不为空 即非www.域名.com 直接通过url访问时不走CDN加速 [$scheme, $host, $port, $path] 为空 即www.域名.com/xxx.html 直接通过url访问时走CDN加速 [$scheme, $host, $port, $path] = www.域名.com/xxx.html 通过CDN加速 [$scheme, $host, $port, $path] = www.cdnjs.com/xxx.html 然后通过CDN服务商提供的API接口进行URL重定向到CDN加速节点上的资源地址 [$scheme, $host, $port, $path] = www.cdnjs.com/xxx.html 最后返回结果 [$scheme, $host, $port, $path] = www.cdnjs.com/xxx.html 继续执行后续操作 [$scheme, $host, $port, $path] = www.cdnjs.com/xxx.html }else{ //检测没有域名信息 即直接通过URL访问时不走CDN加速 [$scheme, $host, $port, $path] = www.域名.com/xxx.html 直接通过URL访问时走CDN加速 [$scheme, $host, $port, $path] = www.cdnjs.com/xxx.html 然后通过CDN服务商提供的API接口进行URL重定向到CDN加速节点上的资源地址 [$scheme, $host, $port, $path] = www.cdnjs.com/xxx.html 最后返回结果 [$scheme, $host, $port, $path] = www.cdnjs.com/xxx.html 继续执行后续操作 [$scheme, $host, $port, $path] = www.cdnjs.com/xxx.html } }return $args;//函数结束返回传入的参数[原文]endif;//函数结束[/原文]```; 保存文件; 刷新WordPress网站页面;
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/227400.html