Ich glaube ich habe einen Syntaxfehler oder so? Ich bin zuversichtlich, dass es entweder etwas mit XML oder Syntax zu tun hat. Alles scheint in Ordnung zu sein, wenn ich in die Datei schaue. Dieser Fehler betrifft das Magier-Benachrichtigungsmodul, richtig? Das Problem ist, dass ich keinen fehlerhaften Code sehe wie: <! DOCTYPE HTML PUBLIC "- // IETF // DTD HTML 2.0 // DE">
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Space required after the Public Identifier in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SystemLiteral " or ' expected in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Opening and ending tag mismatch: hr line 7 and body in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): </body></html> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Opening and ending tag mismatch: body line 4 and html in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Premature end of data in tag html line 2 in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Space required after the Public Identifier in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SystemLiteral " or ' expected in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Opening and ending tag mismatch: hr line 7 and body in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): </body></html> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Opening and ending tag mismatch: body line 4 and html in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Premature end of data in tag html line 2 in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:34+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Space required after the Public Identifier in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
Dies ist Zeile 126 in Magenotification.php
try {
$xml = new SimpleXMLElement($data);
}
Hilft mir überhaupt nicht.
Magenotification.php
class Magestore_Magenotification_Model_Magenotification extends Mage_Core_Model_Abstract
{
const XML_FREQUENCY_PATH = 'magenotification/general/frequency';
const XML_LAST_UPDATE_PATH = 'magenotification/general/last_update';
const XML_MAGESTORE_URL_PATH = 'magenotification/general/magestore_url';
public function _construct()
{
parent::_construct();
$this->_init('magenotification/magenotification');
}
public function checkUpdate()
{
$timestamp = Mage::getModel('core/date')->timestamp(time());
if (($this->getFrequency() + $this->getLastUpdate()) > $timestamp)
{
return $this;
}
$notificationXml = $this->getNotificationData();
$noticeData = array();
if ($notificationXml && $notificationXml->item)
{
foreach ($notificationXml->item as $item) {
$item_data = array(
'severity' => (int)$item->severity,
'date_added' => $this->getDate((string)$item->date_added),
'title' => (string)$item->title,
'description' => (string)$item->description,
'url' => (string)$item->url,
'added_date' => $this->getDate((string)$item->date_added),
'related_extensions' => strtolower($item->related_extensions)
);
if($this->allowGetFeed($item_data)){
$noticeData[] = $item_data;
}
}
if($noticeData)
{
$this->parse(array_reverse($noticeData));
$this->setLastUpdate();
}
}
return $this;
}
public function allowGetFeed($item)
{
if($item['related_extensions'] == null || $item['related_extensions'] == '0'){
return true;
}
$modules = Mage::getConfig()->getNode('modules')->children();
foreach ($modules as $moduleName => $moduleInfo) {
if ($moduleName==='Mage_Adminhtml') {
continue;
}
if ($moduleName==='Magestore_Magenotification') {
continue;
}
if(strpos('a'.$moduleName,'Magestore') == 0){
continue;
}
$extension_code = str_replace('Magestore_','',$moduleName);
$related_extensions = explode(',',$item['related_extensions']);
if(count($related_extensions)){
foreach($related_extensions as $related_extension){
if(strtolower($related_extension) == strtolower($extension_code)){
return true;
}
}
}
}
return false;
}
public function getLastUpdate()
{
$timestring = Mage::getStoreConfig(self::XML_LAST_UPDATE_PATH);
return strtotime($timestring);
}
public function setLastUpdate()
{
$config = Mage::getModel('core/config');
$timestamp = Mage::getModel('core/date')->timestamp(time());
$config ->saveConfig(self::XML_LAST_UPDATE_PATH,$timestamp);
$config->cleanCache();
}
public function getFrequency()
{
return Mage::getStoreConfig(self::XML_FREQUENCY_PATH) * 3600;
}
public function getMagestoreUrl()
{
$lastTimeNotice = strtotime($this->getLastNotice()->getAddedDate());
return Mage::getStoreConfig(self::XML_MAGESTORE_URL_PATH) .'/magenotification/service/getfeed3/lastupdatetime/'. $lastTimeNotice;
}
public function getNotificationData()
{
$curl = new Varien_Http_Adapter_Curl();
$curl->setConfig(array(
'timeout' => 2
));
$curl->write(Zend_Http_Client::GET, $this->getMagestoreUrl(), '1.0');
$data = $curl->read();
if ($data === false) {
return false;
}
$data = preg_split('/^\r?$/m', $data, 2);
$data = trim($data[1]);
$curl->close();
try {
$xml = new SimpleXMLElement($data);
}
catch (Exception $e) {
return false;
}
return $xml;
}
public function getNotificationXml()
{
try {
$data = $this->getNotificationData();
$xml = new SimpleXMLElement($data);
}
catch (Exception $e) {
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8" ?>');
}
return $xml;
}
public function getDate($rssDate)
{
return gmdate('Y-m-d H:i:s', strtotime($rssDate));
}
public function parse($data)
{
if(count($data))
{
try{
foreach($data as $item)
{
if(!$this->is_existedUrl($item['url']) )
{
$this->setData($item)->save();
$this->setId(null);
}
}
} catch(Exception $e) {
Mage::getSingleton('core/session')->addError($e->getMessage());
}
}
}
public function is_existedUrl($url)
{
$collection = $this->getCollection()
->addFieldToFilter('url',(string)$url);
if($collection->getSize())
return true;
return false;
}
public function getLastNotice()
{
$item = $this->getCollection()
->setOrder('added_date','DESC')
->getFirstItem();
return $item;
}
}
Gefunden Das Dokument wurde hierher verschoben. Apache / 2.4.10 (Debian) Server unter www.magestore.com Port 80 String konnte nicht als XML analysiert werden
Gefunden Das Dokument wurde hierher verschoben. Apache / 2.4.10 (Debian) Server unter www.magestore.com Port 80 String konnte nicht als XML analysiert werden
Wenn ich hier klicke, wird eine XML-Datei und die folgende Meldung angezeigt. Ich denke, dies bedeutet, dass mit dem Channel-Tag etwas nicht stimmt:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<channel/>
Magenotification.php
?Antworten:
Für alle, die darauf stoßen, finden Sie unten eine "schnelle" Lösung:
Aktualisieren Sie diese Zeile:
Zu:
Es scheint, dass Magestore seine Benachrichtigungs-URL geändert hat, daher sollte das obige Update behoben werden.
Ich glaube, dass das Aktualisieren der Erweiterung Magestore_Magenotification auf die neueste Version die empfohlene Lösung ist. Dies ist jedoch ausreichend, wenn Sie verhindern möchten, dass das system.log mit diesem Fehler gefüllt ist.
quelle
Offensichtlich stimmt etwas mit der XML-Datei, die analysiert werden soll, nicht.
Könnten Sie den folgenden Code ändern:
zu:
Und die Ergebnisse hier posten? Es sollte die XML-Daten ausdrucken, die es zu analysieren versucht, und es ist eine Fehlermeldung. Ich bin sicher, es zeigt etwas Hilfreiches.
quelle
Ich habe gesehen, dass 3 für Sie benachrichtigt wurden.
Das bedeutet, dass Ihre URL eine HTML- Zeichenfolge anstelle einer XML- Zeichenfolge zurückgeben kann. Sie können dies debuggen und die HTML- Antwort drucken . Ich denke, Ihr Controller war falsch, nicht SimpleXMLElement
Aktualisiert
Lassen Sie mich mehr erklären
$ this-> getMagestoreUrl () <== Dies ist Ihre URL-Anfrage (zeigen Sie es) ..
$ data = $ curl-> read (); Dies ist Ihr Antworttext des Controllers (var_dump oder print_r) dieser Daten.
quelle