wordpress遇到到了这样的问题 "发生了预料之外的错误,WordPress.org或是此服务器的配置可能出了一些问题" , 已经是多次遇到过这样的问题,总结一下。 遇到的一共有三种情况,不过原因是相同的,就是程序不能给api.wordprsss.org正常通信导致的。
遇到的三种情况
- 系统dns导致的不能通信
- php环境导致的dns不能解析
- 插件或者模板导致禁止访问外部资源,导致的不能通信
一种系统dns导致不能通信
检查的方法,ping一下,如果没有问题,就可以排除这个原因。
有正常的回应,就表示没有问题。如果得不到回应,就就需要检查一下服务器的网络。
php环境环境导致的域名不能解析
如果系统中执行命令, ping api.wordpress.org
显示的一切正常,那么可以写个测试代码.
var_dump(dns_get_record('api.wordpress.org', DNS_A));
观看下,是否可以正常的获取到ip地址。比如
array(1) {
[0]=>
array(5) {
["host"]=>
string(17) "api.wordpress.org"
["class"]=>
string(2) "IN"
["ttl"]=>
int(240)
["type"]=>
string(1) "A"
["ip"]=>
string(15) "1**.1**.1**.***"
}
}
只要能获取多就没有问题, 如果获取不到信息,是不是在chroot环境,或者有其他的原因。
需要注意的是需要在web环境下执行这个代码,不能是命令行,因为需要检查的是web环境
插件或者模板导致的错误
这个解决就比较简单,停用一下插件,并使用系统自己模板。点击插件安装的选项,或者安装模板的选项,如果正常的显示。说明程序和wordpress服务器的通信是正常的。这种情况有时候会导致比较奇怪的问题,比如系统可以更新,但是不能安装模板。这要需要检查插件或者模板的代码了。