2009-05-10 6 views
1

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

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

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

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

$ smarty-> use_sub_dirs = истина;

$ smarty-> compile_check = true;

ответ

1

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

1

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

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

+0

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

0

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

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