Apache1.3とPHP5でwebアプリを構築しています。

IEでDirectoryディレクティブで設定したPATHにアクセスすると、
「ファイルのダウンロード」ダイアログが表示されてしまいます。
正常にアクセスできるようにする方法を教えてください。

PHP5のconfigureスクリプトのオプション
./configure --with-apxs=/usr/bin/apxs --with-openssl=/usr --with-zlib --enable-mbstring --enable-trans-sid --without-sqlite --without-mysql

設定しているhttpd.confのディレクティブ(抜粋)
LoadModule php5_module /usr/lib/apache/1.3/libphp5.so
AddModule mod_php5.c

AddType application/x-httpd-php .php

<Directory "/usr/local/Hosting/xxxx/yyyy">
SetHandler php5-script
SetHandler default-handler
</Directory>

# 同じサーバ上でtomcat + mod_jk でアプリを動作させています。
<Directory "/usr/local/Hosting/xxxx">
DirectoryIndex index.jsp
</Directory>

回答の条件
  • 1人5回まで
  • 登録:2006/10/17 10:27:42
  • 終了:2006/10/24 10:30:09

回答(5件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402006/10/17 11:33:51

ポイント20pt
SetHandler php5-script
SetHandler default-handler

default-handler で上書きしてしまっているように見えます。

SetHandler php5-script

か、

AddHandler php5-script .php

と設定すればいいと思います。

id:uniom

回答ありがとうございます。

SetHandler default-handler

の行を削除して再起動してもまだ、「ファイルのダウンロード」が表示されてしまいます。

2006/10/17 12:07:52
id:sera_yr No.2

sera_yr回答回数123ベストアンサー獲得回数62006/10/17 12:17:28

ポイント20pt

mod_mimeは組み込まれておりますでしょうか

http://httpd.apache.org/docs/2.0/ja/mod/mod_mime.html

id:uniom

組み込まれていました。下記を設定しています。

LoadModule mime_module /usr/lib/apache/1.3/mod_mime.so

2006/10/17 13:37:18
id:sera_yr No.3

sera_yr回答回数123ベストアンサー獲得回数62006/10/17 14:19:30

ポイント20pt

http://mm.apache.jp/pipermail/apache-users/2002-May/001329.html

Apache1.3では、Apacheが直接srm.confを参照してしまい、これが原因となる場合があるようです。

一度srm.confをリネームして読み込まないようにしてみてはいかがでしょうか

#mv /usr/local/apache/conf/srm.conf /usr/local/apache/conf/srm.conf.org

apacheを再起動

id:uniom

srm.conf を srm.conf.org にしてApacheを再起動しましたが、ダメでした・・・。

2006/10/17 15:00:16
id:sera_yr No.4

sera_yr回答回数123ベストアンサー獲得回数62006/10/17 19:20:34

ポイント20pt

apacheの再起動はエラーなどなく、正常に行われていますでしょうか。

だとすると、apacheにphpが組み込まれていないのかもしれないですね。

>--with-apxs=/usr/bin/apxs

apxsのパスが/usr/bin/となっていますがあっていますでしょうか。

間違っていたらconfigureの時点でエラーが出ると思いますが、エラーはでていなかったでしょうか。

id:uniom

再起動時のエラーはでないです。

apxsのpathは /usr/bin でした。

configureの最後は

Thank you for using PHP.

で終わりました。

2006/10/17 19:46:10
id:tobeoscontinue No.5

tobeoscontinue回答回数214ベストアンサー獲得回数542006/10/21 14:13:57

ポイント20pt

SetHandler php5-script

では強力過ぎるのではないでしょうか

http://httpd.apache.org/docs/2.2/mod/core.html#sethandler]

『そこにあるすべてのファイルが handler-name で指定されたハンドラで扱われることを強制します。』とあります。ブラウザーはアイコンなども要求しますのでphpだけというのでは問題があるのではないでしょうか。

試しにローカルで動いている(Apache2)ものにSetHandlerを追加してみたところ同じようにダウンロードのダイアログが表示さました。

AddHandler php5-script .php

だけでいいように思います。

id:uniom

回答ありがとうございます。

どうやら、

AddHandler php5-script .php

SetHandler php5-script

SetHandler default-handler

の何れかを記述すると、

ダウンロードのポップアップが表示されてしまいます。

3つの記述すべて削除すると、ポップアップが表示されません。

しかし、

Include /etc/apache/conf.d

を有効にしているのでtomcatにリダイレクトされてしまい、実行できません。

JavaもPHPも実行できるようにする方法はないのでしょうか?

2006/10/23 15:57:18
  • id:tobeoscontinue
    >AddHandler php5-script .php
    >だけでいいように思います。
    何か関係なかったようで恐縮です。

    >tomcatにリダイレクトされてしまい、実行できません。
    実行できません。の状況がわからないので的はずれかもしれませんが。

    tomcatは正しく動いて(index.jsp)いるとする。
    yyyy/index.phpがあるとする。

    yyyyでアクセスしてもyyyy/index.phpが処理されずindex.jspが実行されるのであれば
    <Directory "/usr/local/Hosting/xxxx/yyyy">
    DirectoryIndex index.php
    </Directory>
    としてみてはどうでしょう。

    yyyy/index.phpでアクセスしてphpが起動しないのであれば更に追加情報が必要かと。

    実行できないの内容がファイルが見つからないなら解決はあると思うのですが(phpとtomcatではベースとなるパスが異なるので?本当か)
  • id:uniom
    回答ありがとうございます。返答おそくなりました。
    解決しましたので、参考までに。

    tobeoscontinueさんの方法だとyyyyやyyyy/index.phpにアクセスすると
    tomcatにリダイレクトしてしまい、PHPとして実行できないかもです。

    そこで、
    jk.confに以下のような記述をしました。
    JkMount /*.jsp ajp13
    このようにすると、
    .jspにアクセスするとtomcatにリダイレクトされ、
    .phpにアクセスしてもリダイレクトされず、PHPとして実行できるようです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません