人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Movable Type3.2のコメント一覧のテンプレート(mt-comments.cgiとMT/App/comments.pm)で、PHPスクリプトを利用したいのですが、方法がわかりません。MTIncludeなどを利用するのかなと思うのですが・・・

●質問者: maxikira
●カテゴリ:ウェブ制作
✍キーワード:CGI Movable Type Mt PHP pm
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● 最低人間
●27ポイント

MTIncludeはテンプレートモジュールを読み込む為のテンプレートタグです。

結論から言えばこれを使う必要はありません。

テンプレート内に普通にPHPスクリプトを記入すれば動きます。

ただし、出力するファイルがhtmlである場合、サーバ側がhtml内のPHPスクリプトの実行を許可している必要があります。

サーバにもよりますが、PHPの実行の際にはファイルの拡張子が「.php」か「.phtml」あたりで無ければ実行を許可していない場合が多いようです。

つまり、

「出力するファイル名をサーバがPHPの実行を許可している形式に変える」

のが方法です。

◎質問者からの返答

出力される時に、http://www.sample.com/blog/mt-comments.cgi?entry_id=50のようになるので、この場合は出力形式がCGIだと思います。CGIで出力されてもPHPを組み込む方法はありますか?


2 ● ヨネちゃん
●27ポイント

拡張子がCGIですので、通常PHPの実行は許可されないと思います。一応ロリポップで試してみましたがダメでした。

方法があるとすればCGIでインラインフレームを作り、その中にPHPファイルを表示することくらいでしょうか。

◎質問者からの返答

ありがとうございます。私も試してみましたがだめでした。CGIでインラインフレームを作成する以外にないでしょうか?


3 ● 最低人間
●26ポイント

逆のアプローチですが、例えば.php内でSSIを実行することが許可されているならば、なんとかできないこともありません。


要するに、PerlのCGIとして動いているmt-comments.cgiを、mt-comments.phpとしてやり、中身を全てSSIとして書き換えれば動くことは動くと思います。


ただし大幅な中身の修正が必要になりますし、サーバが.phpファイル内でのSSIの実行を許可していなければやはりダメ、ということでもあります。


ちなみに拡張子がCGIだからといってPHPが実行されないわけではありません。XREAサーバなどではPHPスクリプトもCGIとして実行可能です。


あとは.htaccessファイルで使用できる場合もあります。

.htaccessファイルを作成して

AddType application/x-httpd-php .cgi

と中身を書いてサーバにおいてやれば拡張子CGI内でPHPが動くようになります。

あとはサーバ側が.htaccessファイルでそれを許可しているかどうかですが。

◎質問者からの返答

参考になりました。試してみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ