[PHP-users 27814] smartyのキャッシュ処理
sasakimakoto_jp@yahoo.co.jp
sasakimakoto_jp @ yahoo.co.jp
2005年 12月 8日 (木) 19:34:03 JST
佐々木です。
サーバーへの負荷が激しいのでページキャッシュを導入しようと
Smarty2.5.0+最新PHP4にてSmartyのキャッシュ機能を使おうと下記
のようなコードを書いてみたのですが、試行錯誤した結果
どうやらエラー処理に出力バッファを使っている関係で
ログに下記のようなエラーが表示されて使えないようなのですが
解決策はないものでしょうか?
cacheのパーミッション等はすべて777にしてあります。
------------------
index.phpの内容
------------------
$smarty = new Smarty;
$smarty->template_dir = 'templates/';
$smarty->compile_dir = 'templates_c/';
$smarty->config_dir = 'configs/';
$smarty->cache_dir = 'cache/';
$smarty->plugins_dir = 'plugins/';
ob_start('ob_handler');
set_error_handler('error_handler');
$smarty->cache_lifetime = 600;
$smarty->->caching = true; <===ここをfalseにすると正常に動きます
if($smarty->is_cached("index.tpl")){
$smarty->display("index.tpl");
exit;
}
// 処理
ob_end_flush();
if(ob_get_length() > 0) exit;
$smarty->display("index.tpl");
------------------
エラーの内容
------------------
ERRNO:2
ERRTYPE:Warning
ERRMSG:fopen(/home/test/cache/%%115/%%1151393107/index.tpl.php):failed
to open stream: No such file or directory
FILENAME:/home/test/smarty/Smarty.class.php
LINENUM:1998
--------------------------------------
STOP HIV/AIDS.
Yahoo! JAPAN Redribbon Campaign 2005
http://pr.mail.yahoo.co.jp/redribbon/
PHP-users メーリングリストの案内