• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:$smarty->compile_dir について)

【質問】Smartyのエラー表示について教えてください

このQ&Aのポイント
  • 質問者は、「templates_c」ディレクトリをドキュメントルートから外したらエラーが出るようになったと述べています。
  • 質問者は、$smarty->compile_dirを指定しなくても「templates_c」ディレクトリが自動的に探されるのかどうかも知りたいと述べています。
  • また、質問者は「templates_c」ディレクトリのパスがどこで指定されるか、ドキュメントルートを外すことができるかについても教えてほしいと述べています。

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

  • ベストアンサー
  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

>「templates_c」ディレクトリをドキュメントルートから外してはいけないのでしょうか? パスの指定やパーミッション設定さえ間違っていなければ、ドキュメントルートから外して問題ありません。 当方自身、ドキュメントルート以下フォルダ階層の深い位置に置いた場合でも、まったく問題なく動作しています。 ドキュメントルートより上に置いた事はありませんが、理論上はまったく問題ないはずです。 >$smarty->compile_dirを指定しなくても、勝手に「templates_c」ディレクトリを探しにいくのでしょうか? $smarty->compile_dirで指定せず省略された際には、デフォルト設定の[templates_c]という名前のフォルダが使用されます。 >$smarty->compile_dirは、public_htmlより上の階層を指定したままなのに、正常表示される理由が不明 おそらくですが、正しくパスが設定されていない事が原因でしょう。 相対パスを使用しているのではないかと思いますが、相対パスの基準位置等を勘違いされていて、正しく設定できていないのではないかという気がします。 相対パスで混乱するようであれば、絶対パスを指定してください。 >「templates」ディレクトリと同じところに置こうとも思ったら、出来なかったので FTPソフトによっては、サーバー上で[移動]や[コピー]ができない場合があります。 あるいは、キャッシュが更新されていないために、古い状態が表示されているだけなのかも知れません。 『最新の状態に更新』をして、かつ、『ディレクトリの作成』をした場合でも同様でしょうか? 複数の現象が、それぞれ別の原因で発生して、切り分けができずに混乱状態なのだろうと想像できますが、ひとつひとつ解きほぐしてください。

re999
質問者

補足

>パスの指定やパーミッション設定さえ間違っていなければ、ドキュメントルートから外して問題ありません。 そうですよね。 >$smarty->compile_dirで指定せず省略された際には、デフォルト設定の[templates_c]という名前のフォルダが使用されます。 ありがとうございました。自分でもその後、同内容のことを記載しているサイトを見つけました。 >>$smarty->compile_dirは、public_htmlより上の階層を指定したままなのに、正常表示される理由が不明 >おそらくですが、正しくパスが設定されていない事が原因でしょう。 私もそう思います。それしかないですよね。 >相対パスで混乱するようであれば、絶対パスを指定してください。 絶対パスを使用しているのですが、何かを自分で勘違いしているのだと思います。 >>「templates」ディレクトリと同じところに置こうとも思ったら、出来なかったので これは質問の仕方がまずかったようです。「templates」と「template_c」を同じディレクトリに置いたにも関わらず、「template_c」だけがエラーになるのはなぜ? という意味でした。 ■現状整理⇒自分 ・「templates_c」ディレクトリをドキュメントルートから外してもよい。 ・$smarty->compile_dirを省略した場合、あるいは指定が間違っている場合には、デフォルト設定の [templates_c]という名前のフォルダが使用される。 ・恐らく、$smarty->compile_dirのパス指定が間違っている。それしかない…。 ■結論 ・もう少し、よく考えてみます…。

関連するQ&A