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

时间:2017-08-21 14:22:15

标签: php xml ubuntu joomla

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

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

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

  

parser = xml_parser_create($ encoding); xml_set_object($ this-> parser,& $ this); xml_parser_set_option($ this-> parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($ this-> parser,XML_OPTION_SKIP_WHITE,1); xml_parser_set_option($ this->解析器,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(); $ i ++){$ this-> 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-> parser))。 "在线" .xml_get_current_line_number($ this->解析器);返回false; } return $ this-> tree [0] [" content"]; 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:&# 34; .xml_error_string(xml_get_error_code($ this-> parser))。" on line" .xml_get_current_line_number($ this-> parser)); fclose($ fp);返回$ this-> tree [0] [" content"]; } function encode_as_xml($ value){if(is_array($ value)){reset($ value); $ out ='&#39 ;; 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)。"&#34 ;; }} else {$ out。="" .xml_simple :: encode_as_xml($ val)。"&#34 ;;返回$ 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] ["内容"] [$ elem ["名称"]])&& isset($ this-> tree [0] [" content&# 34;] [$ elem [" name"]] [0])){array_push($ this-> tree [0] [" content"] [$ elem [&# 34; name"]],$ elem [" content"]); } else {$ this-> tree [0] [" content"] [$ elem [" name"]] = array($ this-> tree [0] [& #34;内容"] [$ ELEM ["名称"]],$ ELEM ["内容"]); } 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"] ="&#34 ;; $ this-> tree [0] [" content"] [$ elem [" name"]] = $ elem [" content"];函数char_data($ parser,$ data){#不要在非字符串数据中添加字符串if(!is_string($ this-> tree [0] [" content&#34} ;])&&!preg_match(" / \ S /",$ data))return; $ this-> tree [0] [" content"]。= $ data; }}

然而,我网站的其他页面工作正常。您可以访问此页面查看 http://144.130.57.197/MonashHealthNew/beta.monashhealth.org/en/contact-us

我很感激你的任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

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

开头
<?

/ * xml-simple.php

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

<?php

/ * xml-simple.php

我认为&#39; short_open_tag的值为&#39;在配置(php.ini)

中被禁用