Автор Тема: Ошибка в логах smarty  (Прочитано 60 раз)

19 Май 2018, 15:22:26
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем доброго дня после миграции на vps лог заполнен ошибкой
 mod_fcgid: stderr: PHP Warning:  htmlspecialchars() expects parameter 1 to be string, array given in /var/www/admin2018/data/www/akwarium.su/akwamagazin/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code on line 102, referer:
Кто может помочь исправить ?
19 Май 2018, 16:02:12
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 15212
  • Репутация: +14590/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Так это предуреждение, можете не обращать внимание. Такое часто показывает от того, что кеш не чистился долго. Работе сайта не мешает.
19 Май 2018, 16:14:20
Ответ #2
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Кэш чистился но предупреждение продолжается
19 Май 2018, 19:27:26
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 3345
  • Репутация: +77/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Отключай кеширование и включи показ ошибок в prestashop, откроется консоль и в ней покажет навание файла,  в котором нужно искать ошибку. А так не найти, так как в кеше файл скомпилирован из многих кусков.
19 Май 2018, 19:46:30
Ответ #4
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я так понимаю ни кто ответа не знает это и есть одна из строк лога повторяются с периодичностью  от 1 до 5 минут
Выше перечисленное естественно делали 
19 Май 2018, 19:47:37
Ответ #5
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
да файл и так понятен вопрос с чем это связано ?
19 Май 2018, 21:46:29
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 3345
  • Репутация: +77/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Интересно, что понятно? Файл который в ошибке не существует, это скомпилированный кеш-файл.
Есть второй путь, это проверять все файлы tel темы и модулей. В любом из них может быть ошибка связанная с функцией htmlspecialchars.
20 Май 2018, 09:23:08
Ответ #7
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Файл существует хоть и временный вот он
20 Май 2018, 11:21:28
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 1153
  • Репутация: +5/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Файл существует хоть и временный вот он
По названию файла из кеша можно определить основной шаблон, это header.tpl. Но в нем вывод нескольких хуков, т.е. еще с десяток файлов. Все проверять долго, поэтому проще отключить кеширование и найти один файл.
20 Май 2018, 11:36:21
Ответ #9
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102501
  • Репутация: +34219/-0
    • Просмотр профиля
1. Открываете файл, в котором ошибка, в редакторе.
2. Находите строку 102, которая указана в описании ошибки
3. Находите определение переменной в контроллере, переданной в функцию htmlspecialchars(), и добавляете проверку на её тип и преобразования в строку.
20 Май 2018, 12:06:30
Ответ #10
  • Новичок
  • *
  • Сообщений: 31
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо попорбую