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

StackOverflow https://stackoverflow.com/questions/844596

Вопрос

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

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

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

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

$smarty->use_sub_dirs = true;

$smarty->compile_check = true;

Это было полезно?

Решение

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

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top