будет в новой версии Parse error: syntax error, unexpected end of file...

zxc

Легенда
Версия TP
иная
Если в момент сохранения файла page_header.tpl кто-то решит в этот же момент открыть сайт, то получаем ошибку
Parse error: syntax error, unexpected end of file in /var/www/site/data/www/site.ru/cache/tpl_default_page_header.tpl.php on line 362
Из-за того, что файл кэша формируется из частично сохраненого tpl
Лечится удалением cache/tpl_default_page_header.tpl.php

Может есть у кого идеи как бороться с этим?
 
Последнее редактирование:

zxc

Легенда
Часто сохраняете? Может следует применить нормальный кэш
У меня в админке стоит memcache. Но он не относится к кэшу файлов шаблона.
Сохраняю часто и такое случается только при сохранении файлов page_header.tpl или page_footer.tpl и при медленном интернете

Надо бы добавить какую синтаксическую проверку кода
 
Последнее редактирование:

belomaxorka

Разработчик
Администратор
У меня в админке стоит memcache. Но он не относится к кэшу файлов шаблона.
Сохраняю часто и такое случается только при сохранении файлов page_header.tpl или page_footer.tpl и при медленном интернете

Надо бы добавить какую синтаксическую проверку кода
Комплексным решением было бы отказаться от текущего шаблонизатора в пользу чего-то более нормального, например Smarty. Касаемо ошибки, постараюсь что-нибудь придумать. Но скажу сразу, она у меня ни разу не воспроизводилась.
 

belomaxorka

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

Please Login or Register to view hidden text.

). Тоесть если временная метка изменения файла - больше временной метки записанной внутри файла, то делать обновление кэша. Так мы точно будем знать что в файле были несанкционированные изменения.

ЗЫ
Мне кажется это достаточно ресурсоемко, если такую проверку делать каждый раз при подгрузке шаблона из кэша. Можно было бы эту задачу переложить на крон например... Но тогда легче уж самому ручками кэш очистить, чем ждать условные 10-15 минут.
 
Сверху