日別アーカイブ: 2009/07/22

Smartyでファイル出力エラー

PHPのテンプレートエンジンである、Smartyを使用したWebサイトにて不具合が。

エラーの内容を見てみると、

Smarty error: problem creating directory [ディレクトリパス]

が出力されていました。

Apacheのサービスは正常動作している。

Apacheのエラーは出力されていない。

ディレクトリのパーミッションも問題無し。

phpinfo見ても大丈夫。

って事で、ちょっとハマりました。

結果、原因はinode。

※WebサーバはLinux(CentOS)

Smartyが出力するキャッシュのディレクトリにえらい数のディレクトリとファイルがあり、inode を超えていたようです。

なので、とりあえずはキャッシュ削除して復旧。

調査している中で、

Smarty.class.phpの、

var $use_sub_dirs = true;

を、

var $use_sub_dirs = false;

にすれば大丈夫。

とのエントリもありましたが、既に false になっていた。。。。。

暫定対応ですが、定期的にキャッシュ削除するスクリプトでも組んで、cronで回そうかと思います。

根本的な対応はまた別途。

でわ。