Шаблоны Smarty, загруженные на сайт с высокой посещаемостью, вызывают пустую страницу - PullRequest
1 голос
/ 10 мая 2009

Я работаю на очень посещаемом веб-сайте, который использует систему шаблонов Smarty.

Когда я загружаю свежую копию шаблона, который используется в данный момент, страница становится пустой (как будто в самом файле шаблона ничего нет). Я должен выключить lighttpd, загрузить шаблон снова и снова запустить lighttpd.

Есть ли в Smarty какие-либо настройки, которые я должен использовать, которых у меня нет?

Вот список переменных, которые я устанавливаю внутри самого Smarty:

$ smarty-> use_sub_dirs = true;

$ smarty-> compile_check = true;

Ответы [ 3 ]

1 голос
/ 19 сентября 2010

не копируйте ваши шаблоны напрямую, скопируйте их в какую-нибудь временную папку и после завершения загрузки сделайте mv (операция перемещения файла)

1 голос
/ 10 мая 2009

вы пытаетесь очистить кэшированные файлы? Если файл загружен не полностью и кто-то запрашивает его, он кешируется (по крайней мере, я так думаю). Я использовал smarty, и я тоже использую lighttpd. (решил пойти XSLT)

если страница запрашивается более 2 раз в секунду, вы никогда не сможете обновить файл, если не отключите http-сервер. Или очистите файл smarty cached.

0 голосов
/ 10 мая 2009

Возможно, вы захотите включить кэширование перед загрузкой файла (если он уже включен, увеличьте время ожидания и убедитесь, что весь шаблон кэшируется). Включите кэш и установите тайм-аут на пару минут, чтобы Smarty не компилировал вновь загруженные шаблоны. Посетите страницу с вашим шаблоном, чтобы убедиться, что Smarty его кеширует. Затем загрузите шаблон до истечения срока действия кэша. После завершения загрузки вы можете снова отключить кеширование (или вернуть его к исходным значениям).

Возможно, вы захотите добавить в приложение параметр конфигурации, который может глобально включать / отключать этот механизм кэширования.

...