Php 如何修复WordPress中插件导致的504错误?

Php 如何修复WordPress中插件导致的504错误?,php,wordpress,Php,Wordpress,当我想访问客户端网站中的管理仪表板时,出现504错误。我联系了siteground的技术支持,他告诉我错误是由插件引起的,他是对的。当我取消激活插件时,我可以再次进入仪表板 由于没有错误或警告,我检查了我的PHP日志,它只是向我显示了一个PHP通知,如何解决此问题: 试图在第4056行的/home/mysite/public_html/wp includes/class-wp-query.php中获取非对象的属性 那么,这个PHP通知是否会出现超时错误?还是有其他原因? 有什么建议吗?您没有提供

当我想访问客户端网站中的管理仪表板时,出现504错误。我联系了siteground的技术支持,他告诉我错误是由插件引起的,他是对的。当我取消激活插件时,我可以再次进入仪表板

由于没有错误或警告,我检查了我的PHP日志,它只是向我显示了一个PHP通知,如何解决此问题:

试图在第4056行的/home/mysite/public_html/wp includes/class-wp-query.php中获取非对象的属性

那么,这个PHP通知是否会出现超时错误?还是有其他原因?
有什么建议吗?

您没有提供足够的信息让人们帮助您。504错误,是一个超时,这意味着你正在使用的插件在后台做一些事情的时间太长,比你设置的服务器超时时间长,通常是30秒

我们不知道您正在使用的插件,但如果它能处理大量的帖子、页面、图像或产品。。就像按照特定的顺序、格式或类似的方式准备它们一样,这很可能是原因


举个例子,一个做产品过滤器的插件通常会在使用前运行多个循环,以某种方式格式化所有内容,但是如果你有10.000多个产品,并且托管它的资源缓慢/不足,那么它很容易会持续30秒。

这是你的线索,你已经从错误日志中得到了它。开始调试。你有编程背景吗?也许你需要雇佣一个web开发人员来帮助你。你是说PHP通知导致了这个错误?你是对的,因为我导入了太多的商业帖子,但是我想知道当我没有出现错误时如何调试这个问题,因为我知道PHP通知只是一个通知,意味着它不会导致任何错误,对吗?你认为如果我增加超时会有帮助吗?504错误确实会出现在错误日志中,但它不会显示代码中开销较大的部分。因为代码可能正在工作,要么优化不好,要么不打算在超时时间较短的情况下工作。增加超时时间会有所帮助。但如果这个插件在每次有人访问你的网站时都能做到,那么,无论你增加多少时间,它的优化效果都很差。如果是一次性运行或每周/每月运行一次,那么您可以增加超时时间,并确保您的主机在PHP7.2上运行,因为它比5.6和PHP7.0快得多,并且可以以闪电般的速度执行代码。
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 );
}