Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2012-11-12 05:10:43

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Ошибка плагина карты сайта

Привет!
Подскажите, откуда возникла такая ошибка:

Ошибка синтаксического анализа XML: некорректно
Адрес: ************.ru/plugin/gsmg/
Строка 32, символ 12:	while (i < document.body.childNodes.length) {
------------------^

первый раз такая фигня за пять лет использования движка...

Не в сети

#2 2012-11-12 14:40:24

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Ошибка плагина карты сайта

Очень похоже, что выскочила PHP ошибка и то что ты видишь - скрипт для более удобного показа кода ошибки.
Открой "исходный код страницы" и покажи что там за текст.

Не в сети

#3 2012-11-13 07:35:26

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Ошибка плагина карты сайта

Я так понимаю, что где-то установлен лимит на память, и из-за этого скрипт не выполняется до конца?

<html>
 <head>
   <title>NGCMS Runtime error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 65536 bytes)</title>
   <style type="text/css">
	body {
		font: 1em Georgia,"Times New Roman",serif;
	}
	.dmsg {
		border: 1px #EEEEEE solid;
		padding: 10px;
		background-color: yellow;
	}
	.dtrace TBODY TD {
		padding: 3px;
		/*border: 1px #EEEEEE solid;*/
		background-color: #EEEEEE;
	}
	.dtrace THEAD TD {
		padding: 3px;
		background-color: #EEEEEE;
		font-weight: bold;
	}

   </style>
 </head>
 <body>
 <div id="hdrSpanItem"></div>
 <script language="Javascript">
 {
	var i = 0;
	var cnt = 0;
	while (i < document.body.childNodes.length) {
		var node = document.body.childNodes[i];
		if (node.tagName == 'DIV') {
			document.body.removeChild(document.body.childNodes[i]);
			break;
		}
		if ((node.tagName == 'TITLE')||(node.tagName == 'STYLE')) {
			i++;
		} else {
			document.body.removeChild(document.body.childNodes[i]);
		}
	}
 }
 </script>
<h1>NGCMS Runtime error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 65536 bytes)</h1>
<div class='dmsg'>[ 1]: Allowed memory size of 67108864 bytes exhausted (tried to allocate 65536 bytes)</div><br/><h2>Stack trace</h2><table class='dtrace'><thead><td>Line #</td><td>File name</td></tr></thead><tbody><tr><td>58</td><td>****/public_html/engine/includes/classes/mysql.class.php</td></tr></tbody></table>

Изменено Сокол (2012-11-13 07:38:41)

Не в сети

#4 2012-11-13 13:46:33

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Ошибка плагина карты сайта

Сокол, двиг сожрал 64Mb RAM, в нормальной ситуации такого быть не может, это какой-то косяк.
Ошибка происходит в строке:

		while($item = mysql_fetch_array($query, $am)) {
			$result[] = $item;
		}

это выборка из mySQL базы.

Сколько у тебя всего новостей в базе? Возможно проблема связана именно с этим.

Не в сети

#5 2012-11-13 14:52:09

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Ошибка плагина карты сайта

1500 новостей. после добавления всех новостей я запустил плагин.
может файлы какие некорректно закачались на хост?

Не в сети

#6 2012-11-16 06:17:58

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Не в сети

#7 2012-11-18 02:25:13

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Ошибка плагина карты сайта

Сокол, выложил в SVN (и в ночных сборках обновление плагина gsmg, попробуй его.
Теперь плагин при генерации карты сайта не будет полностью загружать всю таблицу новостей, проблем может решиться.

Если не поможет - пиши, будем дальше разбираться.

Не в сети

#8 2012-11-20 08:03:59

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Ошибка плагина карты сайта

Спасибо!
Скачал из ночных сборок - заработало.
Не понял только момент

vitaly пишет:

Теперь плагин при генерации карты сайта не будет полностью загружать всю таблицу новостей

- новости в карте все будут отображаться?

Изменено Сокол (2012-11-20 08:08:48)

Не в сети

#9 2012-11-20 16:52:00

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Ошибка плагина карты сайта

- новости в карте все будут отображаться?

Да.
Плагин читал из БД (и запоминал в памяти) всю информацию по новости, включая её текст. Такой подход "кушал" оперативку.
Теперь я читаю только те поля таблицы ng_news, которые нужны для работы плагина.

Не в сети

#10 2013-03-17 14:49:38

Сокол
Участник
Откуда Красноярск
Зарегистрирован: 2009-05-23
Сообщений: 227
Рейтинг :   
Сайт

Re: Ошибка плагина карты сайта

Приветствую всех форумчан!
Ещё один баг плагина:
при включении в карту сайта категорий выдаёт пустой тег <lastmod> и даже без завершающего тега.
Яндекс сразу ругается на такое (
Как исправить?

Не в сети

Подвал раздела

Работает на FluxBB