![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_05.png?e8efa67)
お世話になっております。
.html から、SSI で .inc ファイルを呼び出し、その inc ファイル
内に記述の PHP を実行したいと考えております。
例えば、test.html に
<!--#include virtual="../include/inc/meta.inc"-->
のような記述があり、include.inc に
<?php echo "test"; ?>
のように記述があった場合、php4 では test と表示されるのですが、
php5 では、
<?php echo "test"; ?>
がそのまま出てきてしまいます。
php4 と php5 の httpd.conf の違いは
LoadModule php4_module C:/php446/sapi/php4apache2.dll
LoadModule php5_module c:/php525/php5apache2.dll
の行のみです。(いずれかをコメントにし、4と5を切り替え)
以下、httpd.conf の SSI の動作に影響を及ぼすと思われる
行を抜粋します。(コメント行も含みます)
環境は WINDOWS&Apache2 です。
<Directory />
Options FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
</Directory>
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
Options All
AllowOverride None
Order allow,deny
Allow from all
</Directory>
AddType application/x-httpd-php .inc .html .php
#AddHandler server-parsed .shtml .html
#AddType text/html .shtml .html .inc
AddOutputFilter INCLUDES .shtml .html .inc
#<Files *.html>
#ForceType text/html
#SetOutputFilter INCLUDES
#</Files>
#<Files *.shtml>
#ForceType text/html
#SetOutputFilter INCLUDES
#</Files>
#<Files *.inc>
#ForceType text/html
#SetOutputFilter INCLUDES
#</Files>
原因は php.ini ですかね?
ご存知の方、ご教授下さい。
No.1ベストアンサー
- 回答日時:
SSIde出力させる為には、PHPをCGIとして動作させる必要があるのではないでしょうか?
久しくSSIを書いてないのでうろ覚えですが、以下はどうでしょう?
<!--#exec cgi="../include/inc/meta.inc"-->
<!--#exec cmd="php /path/to/include/inc/meta.inc" -->
とかとか。
<!--#include virtual・・・の場合、.inc(もしくは他の拡張子に変更して)をCGIとしてhttpd.confに設定する必要があるんじゃないかな?と思います。
include.incは
#!/usr/bin/php
<?php echo "test"; ?>
なんて書いて、パーミッションも実行権限が必要だったり。
header("Content-type: text/plain");も必要かも?
さらにPHPがCGIで動作するようになっていたり。
通常のPHPよりも遅かったり。
あまり良いことは無いと思います。
SSIなんか使わずに直接<? echo "test"?>じゃダメなんでしょうか?
確かに、PHPソース側で content-type の制御とか…
色々と設定が必要かもしれませんね。。
事情がありプログラム構造を変更するのは難しいのですが、
なるべくSSIを使わない方向で検討してみます。
No.2
- 回答日時:
基本的に No.1 のとおりですね。
SSIが処理している中にphpスクリプトを書いても(モジュール動作の)phpは動作はできません。今回はphp4がSAPIのようなので処理されているというだけではないでしょうか?つまり単にphpの実行形態の違いです。SSIで書けるようなことはphpでも書けると思いますので、私もphpで統一した方がいいと思います。
ありがとうございます。
今回に関してはどうにかSSIでやるしか無いのですが、
確かにトリッキーな事をやろうという気がしています。
次回から改善しないといけないですね。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コードがそのまま表示される
-
centos6のlogにscript not foun...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
別ファイルの変数を呼び出した...
-
HTTPで返されるファイル名の取...
-
PHPからMSSQLへの接続結果の文...
-
.htaccessにphp_valueが使用できな
-
データーをエンコード
-
別PHPファイルに変数を渡す
-
エンコーディングについて
-
VB.NETでフリーメールアドレス...
-
.phpと.incファイルの違いはな...
-
URLが.PHPってどういう...
-
FTPコマンドでディレクトリごと...
-
class定義のphpをファイル分割...
-
mb_send_mail() 第 4、5 引数の...
-
ファイルアップロードが出来ま...
-
VBSの「MsgBox」について
-
MySQLのdatetime型の月日0を削...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
centos6のlogにscript not foun...
-
コードがそのまま表示される
-
PHPファイルのシンボリックリン...
-
PHP file_get_contents 503 ser...
-
バージョンアップしたら「次の...
-
ZendFrameWorkで、.htaccessを...
-
htmlをphpにするにあたってデメ...
-
phpでhtmlタグを使用したい
-
PHPで下記のサイトのスクリプト...
-
botを作っているのですが、oaut...
-
モジュールモードとCGIモードと...
-
青森県産のカルヴァドス
-
拡張子htmlでphpを動かす
-
Dreamweaver MX の講習会を探し...
-
htmlからphpへの移行についての...
-
ランチャの作り方
-
if文について
-
wordpress等のように、htmlを各...
-
Fatal error: OpenPNE設置時の...
-
index.phpにbbs.phpを埋め込みたい
おすすめ情報