• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SMARTYのエラーについて。について。)

SMARTYのエラーについて

このQ&Aのポイント
  • PHPでSmartyを使ったアプリケーションを作成する際に、エラーが発生してしまいます。
  • エラーの内容は、Smarty_Compiler.class.phpの454行目でのpreg_match()関数のコンパイルエラーです。
  • 他の人も同じエラーに遭遇し、対応策を探しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.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 がどこにあるかを指定しておく必要があると思います。

acrobat_ka
質問者

お礼

さっそくの回答ありがとうございます。 ご指摘頂いた部分を修正しましたが、結果変わらずでした… が、本来明示的に指定すべき箇所ですよね!今後の参考にさせて頂きます。 最初はSmarty2.6.21でやっていたのですが、Smarty2.6.20で試してみたところ最初のソースで正常に動きました(汗) バージョン別に試してみると、 2.6.22× 2.6.21× 2.6.20○ 2.6.19○ といった結果となりました。 (全てtemplates_cの中身を削除して試しました) もしかしたらバージョンが新しくなった部分で何か仕様が変わったのかもしれませんね…(汗)

関連するQ&A