当我要访问客户网站中的管理控制台时,出现504错误。我已经联系了现场技术支持,他告诉我该错误是由插件引起的,他是对的。停用插件后,我可以再次进入仪表板。
由于没有错误或警告,我如何解决此问题,我检查了我的PHP日志,并向我显示了PHP声明:
试图获取非对象的属性,位于第4056行的/home/mysite/public_html/wp-includes/class-wp-query.php中
public function is_singular( $post_types = '' ) {
if ( empty( $post_types ) || ! $this->is_singular ) {
return (bool) $this->is_singular;
}
$post_obj = $this->get_queried_object();
//here is the error
return in_array( $post_obj->post_type, (array) $post_types );
}
那么,这个PHP通知会引起超时错误吗?还是还有其他原因? 有什么建议吗?
答案 0 :(得分:0)
您没有为人们提供足够的信息来帮助您。 504错误是一个超时,表示您正在使用插件在后台执行某件事的时间过长,超过了您设置的服务器超时时间,通常为30秒。
我们不知道您使用的插件是什么,但是如果它使用大量的帖子,页面,图像或产品来做某事。例如按照特定的顺序,格式或类似方式准备它们,这很可能是原因。 / p>
仅举一个例子,执行产品过滤器的插件通常会运行多个循环,以某种方式格式化所有内容,然后才能使用它,但是如果您有10.000多种产品并且托管资源的速度慢/慢,则很容易超过30秒。