1

Smarty テンプレート システムを使用する非常にトラフィックの多い Web サイトで作業しています。

現在使用されているテンプレートの新しいコピーをアップロードすると、ページが空白になります (テンプレート ファイル自体に何もないかのように)。lighttpd をシャットダウンし、テンプレートを再度アップロードして、lighttpd を起動する必要があります。

Smarty には、私が利用すべきではないかもしれない設定はありますか?

Smarty 自体の内部で設定している変数のリストを次に示します。

$smarty->use_sub_dirs = true;

$smarty->compile_check = true;

4

3 に答える 3

1

キャッシュされたファイルをクリアしてみますか?ファイルが完全にアップロードされておらず、誰かがそれを要求した場合、ファイルは壊れてキャッシュされます(少なくともこれは私が思うことです)。以前はsmartyを使用していましたが、lighttpdも使用しています。(XSLTに移行することを決定しました)

ページが1秒間に2回以上要求されている場合、httpサーバーをオフにしない限り、実際にファイルを更新することはできません。または、smartyキャッシュファイルをクリアします。

于 2009-05-10T03:29:01.443 に答える
1

テンプレートを直接コピーしないで、一時フォルダーにコピーし、アップロードが完了したら mv (ファイルの移動操作) を実行します。

于 2010-09-19T19:17:14.940 に答える
0

ファイルをアップロードする前にキャッシュを有効にすることをお勧めします (既に有効になっている場合は、タイムアウトを増やして、テンプレート全体がキャッシュされるようにしてください)。Smarty が新しくアップロードされたテンプレートをコンパイルしないように、キャッシュを有効にして数分のタイムアウトに設定します。テンプレートのあるページにアクセスして、Smarty がテンプレートをキャッシュしていることを確認します。次に、キャッシュの有効期限が切れる前にテンプレートをアップロードします。アップロードが完了したら、キャッシュを再びオフにすることができます (または元の値に戻すことができます)。

このキャッシュ メカニズムをグローバルにオン/オフできる構成設定をアプリケーションに追加することができます。

于 2009-05-10T09:59:52.907 に答える