Кеширование, предупреждение

InstantCMS 2.X
#1 16 октября 2020 в 18:13
Периодически получаю вот такое предупреждение:

Warning: var_export does not handle circular references in /var/www/www-root/data/www/example.com/system/core/cachefiles.php on line 24

Кто может пояснить, в чём может быть проблема?
#2 16 октября 2020 в 19:56
Найдите в файлах CMS код, который вызывает ошибку. Посмотрите на него внимательно.
Могу попробовать воспроизвести вашу ошибкупредупреждение, запустите этот код
  1. <?php
  2. $data = [
  3. 'ttl' => 300,
  4. 'time' => time(),
  5. 'value' => null
  6. ];
  7. $s = var_export($data, true);
  8. echo $s;
  9.  
  10. $data["value"] = &$data;
  11. $s = var_export($data, true);
  12. echo $s;
Почему у вас так происходит — не знаю.
#3 17 октября 2020 в 12:18


Найдите в файлах CMS код, который вызывает ошибку. Посмотрите на него внимательно.
Могу попробовать воспроизвести вашу ошибкупредупреждение, запустите этот код

  1.  
  2.  

@IamB

Вот, что в файлах
Прикрепленный файл
_5ogkd.png 21 Кб
#4 17 октября 2020 в 12:53
@Karbofos, на какой странице это происходит?
#5 17 октября 2020 в 13:15


@Karbofos, на какой странице это происходит?

Fuze

Похоже, что только на главной, вот в логах сервера продолжение посмотрел /var/www/php-bin-isp-php73/www-root/php, referer:
#6 17 октября 2020 в 19:57

Вот, что в файлах

@Karbofos
Вы всё правильно посмотрели. Предполагаю, что при таком предупреждении в кеш для какого то значения $key записывается null (ничего).
С логикой работы кеша я не знаком, но логичны 2 варианта:
— либо на странице не будет какого то элемента, соответствующего $key.
— либо СMS должна будет заново получить $key, как если бы кеширование было отключено.
Надеюсь, не запутал вас вконец.
#7 22 октября 2020 в 14:41


Вот, что в файлах

@Karbofos
Вы всё правильно посмотрели. Предполагаю, что при таком предупреждении в кеш для какого то значения $key записывается null (ничего).
С логикой работы кеша я не знаком, но логичны 2 варианта:
— либо на странице не будет какого то элемента, соответствующего $key.
— либо СMS должна будет заново получить $key, как если бы кеширование было отключено.
Надеюсь, не запутал вас вконец.

@IamB

Я так и не понял, что это было) видимо что-то с настройками php на сервере, переключил кеш на Memcached и ошибка исчезла.
#8 22 октября 2020 в 15:19

Я так и не понял, что это было)

@Karbofos
Обращайтесь, если решите продолжить "расследование".
#9 23 октября 2020 в 10:23


Я так и не понял, что это было)

@Karbofos
Обращайтесь, если решите продолжить "расследование".

@IamB

по хорошему нужно понять, где "косяк" ) но как это сделать? вот вопрос.
#10 23 октября 2020 в 10:44

по хорошему нужно понять, где "косяк" ) но как это сделать?

@Karbofos

Написать, какие виджеты и что еще выведено на главной. Отключать по очереди виджеты тем самым выяснив в каком проблема.
#11 23 октября 2020 в 11:14


по хорошему нужно понять, где "косяк" ) но как это сделать?

@Karbofos

Написать, какие виджеты и что еще выведено на главной. Отключать по очереди виджеты тем самым выяснив в каком проблема.

Fuze
Займусь, отпишусь, думаю, пользователям данной cms будет полезно. У меня php 7.3 но "проблемы" с кешем наблюдал и ранее, именно с файловым.
Понижение версий php, иногда вообще даёт ошибку 502. Странные дела shockлоги пустые
#12 23 октября 2020 в 11:39

по хорошему нужно понять, где "косяк" ) но как это сделать? вот вопрос

@Karbofos
Можно дописать код в cachefiles.php, который определяет вашу ситуацию и пишет информацию в свой лог-файл. Так будет ясно какой $key(элемент) даёт предупреждение.
Ну и писать сюда результаты.
#13 29 декабря 2020 в 13:46
У меня подобная проблема произошла на страницах (главная и рубрики) (2.14.0), где были установлены виджеты "Список контента", выводимые слайдером — list_slider_block. Отключаю слайдер — ошибка пропадает. Причём независимо сколько установлено фотографий в слайдере — одна или 10, дебаггер "ругается" на кэшфайл.
#14 30 декабря 2020 в 14:42


по хорошему нужно понять, где "косяк" ) но как это сделать?

@Karbofos

Написать, какие виджеты и что еще выведено на главной. Отключать по очереди виджеты тем самым выяснив в каком проблема.

Fuze

У меня такая же проблема. При включенном кеше Files в отладке на главной странице (больше нигде) вылезает предупреждение:

Warning
: var_export does not handle circular references in
/var/www/user/data/www/САЙТ.РУ/system/core/cachefiles.php
on line
26
Если переключить с Files на Memcsched, предупреждение исчезает.
Выключал поочередно все виджеты, не помогает.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.