- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SMARTYのエラーについて。について。)
SMARTYのエラーについて
このQ&Aのポイント
- PHPでSmartyを使ったアプリケーションを作成する際に、エラーが発生してしまいます。
- エラーの内容は、Smarty_Compiler.class.phpの454行目でのpreg_match()関数のコンパイルエラーです。
- 他の人も同じエラーに遭遇し、対応策を探しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>$smarty = new Smarty; $smarty = new Smarty(); のように、カッコは要らないのでしょうか? また、Smartyクラスのインスタンスを作ったら、 $smarty->template_dir = '/var/www/html/test/templates/'; $smarty->compile_dir = '/var/www/html/test/templates_c/'; $smarty->config_dir = '/var/www/html/test/configs/'; $smarty->cache_dir = '/var/www/html/test/cache/'; のように、テンプレートやコンパイル結果などの保存場所を指定してから >$smarty->assign('name', 'test'); >$smarty->display('index.tpl'); を実行する必要があるのではないでしょうか。 少なくとも、 >$smarty->display('index.tpl'); これを実行する前に、index.tpl がどこにあるかを指定しておく必要があると思います。
お礼
さっそくの回答ありがとうございます。 ご指摘頂いた部分を修正しましたが、結果変わらずでした… が、本来明示的に指定すべき箇所ですよね!今後の参考にさせて頂きます。 最初はSmarty2.6.21でやっていたのですが、Smarty2.6.20で試してみたところ最初のソースで正常に動きました(汗) バージョン別に試してみると、 2.6.22× 2.6.21× 2.6.20○ 2.6.19○ といった結果となりました。 (全てtemplates_cの中身を削除して試しました) もしかしたらバージョンが新しくなった部分で何か仕様が変わったのかもしれませんね…(汗)