2006年01月31日

サイトにアップして動かしてみる

解凍したSmarty-2.6.12というフォルダの中に libs というフォルダがあります。これがsmartyを動かすために必要なモジュールです。

試しにサイトにアップして動かしてみましょう。

smartyはPHPという言語で作られています。なので、動かすサーバでPHP(ver4.0.6以降)が動くことが前提になります。もしくは、IISにPHPをインストールしても構いません。

サーバにテスト用のディレクトリを作り、その下に、libsフォルダをそのままアップロードします。
次に動かすためのテンプレートとプログラムを作ります。

テンプレートは簡単に

<html>
<head>
<title>smarty test</title>
</head>
<body>
smarty テスト!!
</body>
</html>

これを templates というフォルダを作り、その中にアップロードします。ファイル名は「index.html」とでも。

次に、プログラムのほうです。

<?

require_once "libs/Smarty.class.php";

$smarty = new Smarty;
$smarty->clear_cache('index.html');
$smarty->display('index.html');
?>

これを、index.php として、テストディレクトリにアップロードします。

こういう構成になるはずです。

test---libs/
     |
     +-templates---index.html
     |
     +-index.php

そして、index.phpを動かしてみます。
http://www.yourserver.com/test/

www.yourserver.com には、実際のサーバのアドレスを入れてください。

すると。

Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist, or is not a directory.

というエラーが出てきます。

何のことやら・・・

読んでみると、tenplates_cディレクトリがないと言っているので、テストディレクトリの下に、templates_cというディレクトリを作ります。
パーミッション(属性とも言う)を 777 にしておいてください。IISにPHPをインストールした場合は、関係ないです。Windowsの世界にはパーミッションは無いので。

test---libs/
     |
     +-templates---index.html
     |
     +-templates_c/
     |
     +-index.php

のようになります。

ここで、もう一度トライ!

smarty テスト!!

と表示されたら、正常です。smartyが正常に動きました。

めでたし!めでたし!

2006年01月31日 15:14 |  2.インストール


トラックバック

このエントリーのトラックバックURL:

コメント

はじめまして。

現在四苦八苦しながらsmartyを試しています。
index.phpを動かすと、
clear_cache('index.html'); $smarty->display('index.html'); ?>
と表示されてしまいます。

ちなみに、macで、apache1.3、php5です。
何か関係ありますか?
よろしくお願いします。

snafkin : 2007年01月24日 13:29

こんにちは。

エラーは出ていない様ですので、smartyのほう(index.php)は間違っていないと思います。
テンプレート(index.html)のほうの記述は合ってますでしょうか?こちらは通常のHTMLになります。

imai : 2007年01月24日 18:27

コメントしてください




保存しますか?