如何解决Joomla网站上的html解析器错误?



大家,我最近将我的网站迁移到新服务器,现在每当我转到首页时都会收到错误。

http://144.130.57.197/MonashHealthNew/beta.monashhealth.org/en/

这是我得到的错误,我对此一无所知:

解析器 = xml_parser_create($encoding(; xml_set_object($this->解析器, &$this(; xml_parser_set_option($this->解析器, XML_OPTION_CASE_FOLDING, 0(; xml_parser_set_option($this->parser, XML_OPTION_SKIP_WHITE, 1(; xml_parser_set_option($this->parser, XML_OPTION_TARGET_ENCODING, 'UTF-8'(; xml_set_element_handler($this->parser, ">

start_element", "stop_element"(; xml_set_character_data_handler($this->parser, "char_data"(;} function force_to_array(( { for ($i = 0; $i <func_num_args((;>force_to_array[] = func_get_arg($i(; } }/* 解析 XML 数据,将其存储在实例变量中;如果无法解析数据,则返回 false。*/function parse($data( { $this->tree = array((; if (!xml_parse($this->parser, $data, 1(( { $this->error = "xml parse error: " .xml_error_string(xml_get_error_code($this->解析器(( ."在行 ".xml_get_current_line_number($this->parser(;返回假;} 返回 $this->树[0]["内容"];} function parse_file($file( { $fp = @fopen($file, "r"(; if (!$fp( { user_error("无法打开文件: '$file'"(; 返回 false; } while ($data = fread($fp, 4096(( { if (!xml_parse($this->parser, $data, feof($fp((( { user_error("XML parse error: " .xml_error_string(xml_get_error_code($this->解析器(( ."上线"。xml_get_current_line_number($this->解析器((;} } fclose($fp(;返回$this->树[0]["内容"];} function encode_as_xml($value( { if (is_array($value(( { reset($value(; $out = ''; while (list($key,$val( = each($value(( { if (is_array($val( && isset($val[0](( { reset($val(; while (list(,$item( = each($val(( { $out .= ".xml_simple::encode_as_xml($item(."; } } else { $out .= ".xml_simple::encode_as_xml($val(."; } } 返回$out; } else { return htmlspecialchars($value(; } } function start_element($parser, $name, $attrs( { array_unshift($this->tree, array("name" => $name((; } function stop_element($parser, $name( { if ($name !( = $this->tree[0]["name"]( die("不正确的嵌套"(; if (count($this->tree(> 1( { $elem = array_shift($this->tree(; if (isset($this->tree[0]["content"][$elem["name"]](( { if (is_array($this->tree[0]["content"][$elem["name"]]( && isset($this->tree[0]["content"][$elem["name"]][0](( { array_push($this->tree[0]["content"][$elem["name"]], $elem["内容"](;} else { $this->tree[0]["content"][$elem["name"]] = array($this->tree[0]["content"][$elem["name"]],$elem["content"](; } }else { if (in_array($elem["name"],$this->force_to_array(( { $this->tree[0]["content"][$elem["name"]] = array($elem["content"](; } else { if (!isset($elem["content"](( $elem["content"] = ";$this->树[0]["内容"][$elem["名称"]] = $elem["内容"];} } } } 函数 char_data($parser, $data( { # 不要向非字符串数据添加字符串,如果 (!is_string($this->tree[0]["content"]( && !preg_match("/\S/", $data(( 返回; $this->tree[0]["content"] .= $data; } }

但是,我网站的其他页面运行良好。您可以通过访问此页面查看 http://144.130.57.197/MonashHealthNew/beta.monashhealth.org/en/contact-us

我将不胜感激您的任何类型的帮助。提前谢谢。

我认为xml-simple.php是问题所在。如果您查看源(在主页 http://144.130.57.197/MonashHealthNew/beta.monashhealth.org/en/上(,则以以下内容开头:

<?

/* XML-simple.php

您可以将其更改为(在 xml-simple.php 文件中(吗?

<?php

/* XML-simple.php

我认为"short_open_tag"在配置中被禁用(php.ini(

最新更新