提问者:小点点

wordpress未能打开流错误,而在本地主机中工作正常


我在wordpress 5.3中做的是,WooBusiness的普金显示此MSG

警告:require_eonce(/home/sitname/public_html/1):无法打开流:在/home/sitename/public-html/wp-content/plugins/learnpress-woo payment/incs/load中成功。php第80行

致命错误:require_once():打开失败需要“1”(include_path='。opt/alt/php72/usr/share/pear') 在 /home/sitename/public_html/wp-content/plugins/learnpress-woo-payment/incs/load.php 第 80 行

上面发生在现场服务器上,而相同的插件和一切都在localhost

我正在处理https:// secure url

请帮忙


共2个答案

匿名用户

将以下内容添加到wp配置中。php文件(在根目录中):

define("LP_ADDON_WOO_PAYMENT_PATH", "/home/sitename/public_html/wp-content/plugins/learnpress-woo-payment");

这是一个很大的希望,但它至少应该给我们一个不同的错误。听起来你从localhost迁移到正式服,但是要么一些配置现在不正确,要么一些文件被错误地复制过来。

错误消息告诉我们,您的learnpress woo支付插件正在尝试加载一个名为“1”的文件,错误的其他详细信息表明该插件没有给出确切的路径。我假设“1”实际上是一个布尔值,所以插件以TRUE代替文件路径……所以,我们来看一下插件的代码:

if ( $this->is_enabled() && $this->woo_checkout_enabled() ) {
        // WooCommerce checkout
        $checkout = require_once LP_ADDON_WOO_PAYMENT_PATH . '/incs/class-lp-wc-checkout.php';
        if ( file_exists( $checkout ) ) {
                require_once $checkout;
        }
}

...这与我期望看到的不太匹配(第80行是注释),但看起来确实是这样的:如果第一个require_once失败并返回成功(这是由于PHP的一个不规则错误),那么$checkout变为TRUE...这显然是存在的,所以我们试图再次包括它!不太好的代码...

匿名用户

我得到了解决方案

支持HTTP_X_FORWARDED_PROTO的负载平衡器或反向代理背后的网站可以通过在wp-config.php文件中require_once调用上方添加以下代码来修复:

如果(isset($_SERVER['HTTP_X_FORWARDED_PROTO'])

这里是链接