『AddType application/x-httpd-php .htm』行を削除すると正常に出力されますが、もともとの目的が、htmというファイル名でphpを実行させたいのでそれでは意味がありません。
DirectoryIndex index.htm
AddType application/x-httpd-php .htm
Options Includes
Options +ExecCGI
AddType text/html cgi
AddHandler cgi-script cgi
再現できなかったのでなんなんですが、
index.htm内容は、単純な文字列表示
<?php echo "test";?>
などで試してみても、そうなるんでしょうか?
PHP側で、headerをどうにかしたら、どうにかなりませんかね…?
phpがApacheのモジュールとして実装されている場合であれば、
DirectoryIndex index.htm AddType application/x-httpd-php .htm
の2行だけで済むはずなのですが、
Options +ExecCGI AddType text/html cgi AddHandler cgi-script cgi
の3行が附加されているということは、
phpをCGIとして実装しているサーバーなのでしょうか?
モジュール版phpは、どのディレクトリでも設置・利用可能なので、
うしろの3行は不要なのでphpinfoで確認してみてください。
(モジュール版とCGI版では使える関数や動作が異なる場合があるので、
今後のためにも把握しておいてください))
確認方法は
<?php phpinfo() ?>
という1行だけのファイルを作って、適当な名前でアップロードし、
ブラウザでアクセスすればサーバーの情報が丸見えになります。
丸見えになりますので、誤って使わないように、使ったあとは直に消してください。
本題に戻りますが、怪しいと思うところは、
Options Includes
です。
Apacheの既定ファイル(httpd.conf)上のOptionsを無視するのではなく
Options +Includes
に変えることによって対応できるかもしれません。
余談ですが、
Options +Includes +ExecCGI
のように一行に書けますよ。
詳しい説明ありがとうございます
CGI版として実装されているようです。
レンタルサーバー会社にも問い合わせて見ます
Options +Includes にしても状況は変わりませんでした。
CGI版で、問題の症状ならば、下記が参考になるかもしれません。
さくらインターネット
http://faq.sakura.ne.jp/wiki/wiki.cgi?cgi%A4%C8php#i24
/usr/local/bin/phpを~/www/somewhereにphp.cgiという名前でコピーして、実行権を付けておく。
↑にてphpの本体を自分の支配下にコピーして↓にてプログラムとして割り当てます。
AddHandler myphp-script .htm Action myphp-script /somewhere/php.cgi
※/somewhereというディレクトリ名は適当に変えてください。
一人2回までなので、とりあえず一旦これにて失礼します。
(回数を増やしていただくか、コメント欄を利用可能にしておいていただければ、出来うる範囲ですが追従します。)
再びありがとうございます
だんだん自分の守備範囲を超えてきたので、ちょっと時間をかけて勉強します
単純なphpでもだめなんです
書いていただいたURL、nortonにワームと判定され、アクセスできませんでした。