XREA × Smarty …… 1

XreaSmarty

XREA × Smarty …… 1

 状態:不明  閲覧数:4,092  投稿日:2008-06-21  更新日:2010-08-09
■今回のミッション……XREAでSmartyを使いたい

▼エラー表示
Fatal error: Smarty error: [in selectlist.tpl line 11]: syntax error: unrecognized tag 'html_options' (Smarty_Compiler.class.php, line 583) in /usr/local/lib/php/Smarty/Smarty.class.php on line 1095


▼まずは、エラーメッセージ「unrecognized tag 'html_options'」で検索をしてみる


▽【PHP】Smarty【Template】@OURS-2ch過去ログ倉庫
http://lib.ac.la/2ch/read.php/pc8/php/1047225437/

368 投稿日:04/03/12
最新のPHP+SmartyでSafe modeをonにすると...
pluginsがエラーになるんですけど...
ちなみにSmartyは/usr/local/lib/php/Smarty/以下にインストール
しています。オーナーはrootです。
アプリのオーナーはroot以外のユーザーです。

プログラムは{html_options}のリファレンスのサンプルです。
エラーメッセージは
Fatal error: Smarty error: [in XXXXXXXX.tmpl line nn]: [plugin] unknown tag - 'html_options' (core.load_plugins.php, line 118) in /usr/local/lib/php/Smarty/Smarty.class.php on line 1102

Safe mode系のエラーの場合は
SAFE MODE何たらかんたらとかuid/gidがなんたらというメッセージが多いと思うんだけど...

アプリのオーナーをrootにしたりSafe modeをOffにすると正しく動くのよね。
php.iniがいけないのかなぁ?


▼もしかするとセーフモードが関係しているかもしれない、との疑いが浮上。今度は、「html_options」 「セーフモード」で検索をしてみる


▽haiduru: PHP アーカイブ
http://blog.haiduru.com/php/
PHPをCGIで動かすのは?なぜ?

フォルダをPHPから書き出すと所有者がapacheになった。
おかげで、フォルダを作成その中にファイルを書き出せない。

フォルダの属性は777。

よくよく考えてみるとPHPはSAFEモードで動いている。そこで色々調べていくと セーフモードがファイル作成の際に所有者をみているんだそうで

1. ファイルを作成するブレークポイントを.cgiに変更
2. htaccessを作成

これだけでうまくいったぽい。フォルダ及びファイルの所有者は自分になってた。
ファイル操作の場合かつ、PHPをCGIとして動かせるサーバなら、これやったほうが後々の手間はなさそう。


▼.検索結果を参考として、実際にhtaccessを作成し、アップロードしてみる
AddHandler application/x-httpd-php5cgi .php


▼うまくいった。Thanks!