will be in the new version Parse error: syntax error, unexpected end of file...

sхс

Legend
TP version
other
Если в момент сохранения файла 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

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

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

Надо бы добавить какую синтаксическую проверку кода
Комплексным решением было бы отказаться от текущего шаблонизатора в пользу чего-то более нормального, например Smarty. Касаемо ошибки, постараюсь что-нибудь придумать. Но скажу сразу, она у меня ни разу не воспроизводилась.
 
Может есть у кого идеи как бороться с этим?
Можно в файле кэша записывать временную метку, которую после сравнивать с временной меткой последнего изменения файла кэша (функция filemtime). Тоесть если временная метка изменения файла - больше временной метки записанной внутри файла, то делать обновление кэша. Так мы точно будем знать что в файле были несанкционированные изменения.

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