我搜索了很多,我在其他地方找不到类似的错误。每当我进入付款页面并取消程序时,我的电子商店都会出现此错误。然后我重定向到此错误而不是商店页面。错误发生后,网站的整个Woocommerce部分无法正常运行,我必须清除浏览器历史记录/ cookie并重新运行。
可捕获的致命错误:无法将类__PHP_Incomplete_Class的对象转换为第1245行/var/www/vhosts/th16529w21.vorschauseite.eu/tourist/wp-includes/kses.php中的字符串
这是上面提到的kses.php
的一部分:
function wp_kses_no_null( $string, $options = null ) {
if ( ! isset( $options['slash_zero'] ) ) {
$options = array( 'slash_zero' => 'remove' );
}
$string = preg_replace( '/[\x00-\x08\x0B\x0C\x0E-\x1F]/', '', $string ); //line 1245
if ( 'remove' == $options['slash_zero'] ) {
$string = preg_replace( '/\\\\+0+/', '', $string );
}
return $string;
}
编辑:我使用插件线卡支付网关进行付款。在取消此插件的付款时出现错误。
我添加了一个if语句来检查$string
是否为字符串,如果不是print_r
变量,则查看它是什么。这是输出:
__ PHP_Incomplete_Class Object([__PHP_Incomplete_Class_Name] => Customweb_Payment_Authorization_ErrorMessage [userMessage:Customweb_Payment_Authorization_ErrorMessage:private] => Customweb_I18n_LocalizableString对象( [string:Customweb_I18n_LocalizableString:private] =>付款 处理取消了客户。 [参数:Customweb_I18n_LocalizableString:private] =>数组()) [backendMessage:Customweb_Payment_Authorization_ErrorMessage:私人] => )