[PHP-users 22230]Re: テンプレートエンジンについて

Tomoaki Sato tom-sato @ sra.co.jp
2004年 6月 15日 (火) 19:26:28 JST


佐藤です。

> お世話になります。
> 
> テンプレートエンジン(Smarty)について質問があります。
> 下記のサイトを参考にしてインストール、またサンプルを作成しましたが
> エラーメッセージが表示されました。
> 
> ・ねこすけのSmart
>  http://smarty.nekosuke.net/index.php
> 
> [エラーメッセージ内容]
> Fatal error: 
> Smarty error: the $compile_dir 'templates_c' does not exist, 
> or is not a directory. in /usr/local/lib/php/Smarty.class.php on line
> 1102

エラーメッセージの内容のとおり、テンプレートをコンパイルしたものを格納
するディレクトリが存在しないことが原因です。

Smarty ではコンパイルしたものを格納するディレクトリはとくに指定しなけ
ればスクリプトが置かれたディレクトリの template_c になります。

> [格納先]
> tplファイルは/usr/local/lib/php/templates/
> phpファイルは/usr/local/apache/htdocs/

したがって、/usr/local/apache/htdocs にスクリプトが置くのであれば、
/usr/local/apache/htdocs/templates_c というディレクトリを作る必要があ
ります。また、このディレクトリはウェブサーバが書き込みできるような権限
ではなければなりません。

もし、ディレクトリを指定したければ以下のように書きます。

  $smarty = new Smarty();
  $smarty->compile_dir = "/path/to/compile_dir";

> 色々とサイトで調べたりしたけどわからず、皆さんの知恵をかりたいと思い投稿しました。

以下の URL にある Smarty の日本語マニュアルがたいへん参考になると思い
ます。

  http://sunset.freespace.jp/smarty/

> どうか、アドバイスお願いします。
> では、失礼します。
> 
> [OS]RedHat7.3
> [PHP]バージョン4.3.3
> [SMARTY]Smarty-2.6.2.tar.gz


--------
Tomoaki Sato <tom-sato @ sra.co.jp>


PHP-users メーリングリストの案内