php - 更新到 PHP 7.4 后的错误:未捕获的错误:调用数组上的成员函数 find()
问题描述
在我将 WordPredd 网站的 PHP 版本更新为 PHP 7.4 后,我在使用插件时遇到错误。
错误:
Ein Fehler vom Typ E_ERROR wurde in der Zeile 39 der Datei /homepages/12/d38950651/htdocs/clickandbuilds/SKYLIGHTVeranstaltungstechnikGmbH/wp-content/plugins/musexpress/includes/converter/utils/class-muse-converter.php verursacht. Fehlermeldung: Uncaught Error: Call to a member function find() on array in /homepages/12/d38950651/htdocs/clickandbuilds/SKYLIGHTVeranstaltungstechnikGmbH/wp-content/plugins/musexpress/includes/converter/utils/class-muse-converter.php:39
Stack trace:
#0 /homepages/12/d38950651/htdocs/clickandbuilds/SKYLIGHTVeranstaltungstechnikGmbH/wp-content/plugins/musexpress/includes/converter/class-pages-converter.php(190): MusexPress\Converter\Utils\Muse_Converter::convert_redirect_elements(Object(simple_html_dom), 'mietpark')
#1 /homepages/12/d38950651/htdocs/clickandbuilds/SKYLIGHTVeranstaltungstechnikGmbH/wp-content/plugins/musexpress/includes/converter/class-pages-converter.php(124): MusexPress\Converter\Pages_Converter->page_conversion('https://www.sky...', '/homepages/12/d...', Array, 'desktop')
#2 /homepages/12/d38950651/htdocs/clickandbuilds/SKYLIGHTVeranstaltungstechnikGmbH/wp-content/plugins/musexpress/includes/converter/class-conversion-handler.php(60): MusexPress\Converter\Pages_Converter->init()
#3 /homepages/12/d38950651
这是PHP片段:
static function convert_redirect_elements( $page_parse, $page_name ) {
foreach ( $page_parse->find( 'link[rel="canonical"]' ) as $element ) {
$element->href = Php_Converter::get_permalink( $page_name );
}
foreach ( $page_parse->find( 'link[rel="alternate"]' ) as $element ) {
if ( strpos( $element->href, 'phone/' ) !== false ) {
$element->href = Php_Converter::get_permalink( "phone-" . $page_name );
} else if ( strpos( $element->href, 'tablet/' ) !== false ) {
$element->href = Php_Converter::get_permalink( "tablet-" . $page_name );
}
}
// error happens on the below line
foreach ( $page_parse->find( 'head', 0 )->find( 'script' ) as $element ) {
$element->innertext = str_replace( 'phone/' . $page_name . '.html', Php_Converter::get_permalink( "phone-" . $page_name ), $element->innertext );
$element->innertext = str_replace( '../' . Php_Converter::get_permalink( "phone-" . $page_name ), Php_Converter::get_permalink( "phone-" . $page_name ), $element->innertext );
$element->innertext = str_replace( 'tablet/' . $page_name . '.html', Php_Converter::get_permalink( "tablet-" . $page_name ), $element->innertext );
}
}
第 39 行是:
foreach ( $page_parse->find( 'head', 0 )->find( 'script' ) as $element ) {
解决方案
推荐阅读
- tensorflow - 在 TPU 上训练时如何在 tf keras 中保存模型权重?
- javascript - 如何在函数中导出 javascript 中的变量?
- node.js - Nestjs 项目无法启动,因为它读取了其模块之外的文件
- xamarin - Xamarin 唤醒锁
- javascript - Google-Maps-React 与 TypeScript。参数错误
- java - 有没有办法在 Junit5 中的另一个方法中模拟私有方法调用
- elasticsearch - 在 Elasticsearch 中,我如何检索按销售商店分组的产品?
- apache-spark - 从 PySpark 数组中删除 NULL 项
- ios - Flutter:Pod install 突然报错
- python-3.x - os.environ 从无引发 keyerror(key)