Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ошибка: sitemap_generator: OutOfRangeException

Опубликовано:

Посещение гостями сайта вызывает однотипные записи системных ошибок в логах ACP:

 

sitemap_generator: OutOfRangeException

 

При клике появляется такая детализация:

 

#0 [internal function]: IPS\Patterns\_ActiveRecord::load(36)
#1 /server path/system/Content/Item.php(1033): call_user_func(Array, 36)
#2 /server path/applications/blog/sources/Entry/Entry.php(244): IPS\Content\_Item->container()
#3 /server path/applications/core/extensions/core/Sitemap/Content.php(254): IPS\blog\_Entry->canView(Object(IPS\Member))
#4 /server path/system/Sitemap/Sitemap.php(102): IPS\core\extensions\core\Sitemap\_Content->generateSitemap('sitemap_content...', Object(IPS\Sitemap))
#5 /server path/applications/core/tasks/sitemapgenerator.php(35): IPS\_Sitemap->buildNextSitemap()
#6 /server path/system/Task/Task.php(248): IPS\core\tasks\_sitemapgenerator->execute()
#7 /server path/system/Task/Task.php(217): IPS\_Task->run()
#8 /server path/applications/core/interface/task/task.php(60): IPS\_Task->runAndLog()
#9 {main}

 

Что сделать, чтобы это прекратилось? 2830 записей за 30 дней. IC 4.2.6.

Изменено пользователем Zero108

Рекомендованные сообщения

Опубликовано:
  • Автор

Права на файл sitemap.php 644.

Изменено пользователем Zero108

Опубликовано:

Точно можно сказать только после дебага на вашем сервере. Но вообще, в 4.2.6 есть ошибка в /system/Member/Member.php, проявляющаяся с версией интерпретатора php 7.0. и выше.

 

Попробуйте так - найти:

	protected $_groups = NULL;

Заменить на:

	protected $_groups = array();

 

Или можно так:

		if ( count( $this->_groups ) )

Заменить на:

		if ( is_array( $this->_groups ) and count( $this->_groups ) )

Опубликовано:
  • Автор

У меня стоит PHP version 5.6.26 и обновил до Invision Community 4.2.7.

 

Но всё равно попробую, что вы написали.

 

А как-то можно вообще отключить эту функцию создания карты сайта и возникновения соответствующей ошибки? Мне кажется, она вообще ни к чему.

Изменено пользователем Zero108

Опубликовано:

У Вас есть запись блога, находящаяся в блоге с ID 36. А судя по ошибке, такого блога нет.

Опубликовано:

У меня аналогичная проблема).

#0 [internal function]: IPS\Patterns\_ActiveRecord::load(28)

Опубликовано:
У меня аналогичная проблема).

Нужно приводить полный стек, а не 1 строку
Опубликовано:
#0 [internal function]: IPS\Patterns\_ActiveRecord::load(28)
#1 /var/www/test/data/www/test.ru/system/Content/Item.php(1033): call_user_func(Array, 28)
#2 /var/www/test/data/www/test.ru/applications/blog/sources/Entry/Entry.php(244): IPS\Content\_Item->container()
#3 /var/www/test/data/www/test.ru/applications/core/extensions/core/Sitemap/Content.php(254): IPS\blog\_Entry->canView(Object(IPS\Member))
#4 /var/www/test/data/www/test.ru/system/Sitemap/Sitemap.php(102): IPS\core\extensions\core\Sitemap\_Content->generateSitemap('sitemap_content...', Object(IPS\Sitemap))
#5 /var/www/test/data/www/test.ru/applications/core/tasks/sitemapgenerator.php(35): IPS\_Sitemap->buildNextSitemap()
#6 /var/www/test/data/www/test.ru/system/Task/Task.php(248): IPS\core\tasks\_sitemapgenerator->execute()
#7 /var/www/test/data/www/test.ru/system/Task/Task.php(217): IPS\_Task->run()
#8 /var/www/test/data/www/test.ru/system/Dispatcher/Standard.php(311): IPS\_Task->runAndLog()
#9 [internal function]: IPS\Dispatcher\_Standard->__destruct()
#10 {main}

Опубликовано:

Аналогичная проблема.

Только блог с ID 28

Опубликовано:

Такого блога вообще нет))) по базе

blog_id от 1 до 34

28 нет, скорее всего удалили в 3.х

Опубликовано:
SELECT * FROM blog_entries WHERE entry_blog_id=28;

Опубликовано:

Прикольно. Нашло запись если выполнить запрос

Но пользователя который создал нет)

Опубликовано:
Нашло запись если выполнить запрос
Отсюда и ошибка. Запись есть, а блога нет.
Опубликовано:

а как правильно удалить запись?

Спасибо

Опубликовано:

Я бы изменил ID блога у записи на существующий. А после перешел бы в запись и удалил ее, если не нужна.

Опубликовано:

Логично). Спасибо.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.