みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

fpassthruを使用したダウンロード時に、内部サーバーエラー

現在、PHP関数のfpassthruを使用して、ファイルのダウンロードダイアログを開く処理を作成しています。

サーバーは、LinuxでApacheと組み合わせて使用しています。

今までは、問題無くダイアログを表示できたのですが、今回サーバーを新しく用意した所、新しいサーバーでダウンロードを行うと、HTTP500の内部サーバーエラーが発生します。
エラー箇所を調べた所、fpassthruの行でエラーが発生している様です。

古いサーバーとは、PHPやApacheのバージョンが若干異なり、設定もまったく同じでは無いのですが、なぜエラーになるか分かりません。

Apacheの、httpd.confの設定が問題の様な気がしますが、どの部分が影響しているか判断できません。

どなたか原因の分かる方、教えて頂けないでしょうか?

投稿日時 - 2003-05-10 14:51:35

QNo.543847

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

ソース全体を見ないと何も言えないですが、コマンドライン版PHPであれば、CGIの様に、フルパスで指定してやる必要があります。
/user/lib/php 等

投稿日時 - 2003-05-20 10:08:59

お礼

kusukusuさん ありがとうございました。

いろいろ試してみましたが、結論から行くと良く分からないと言う事になりました。

今回は仕方ないので、RedHatで行く事にします。

RedHatとDebianの違いと言ってしまえばそれまでですが、残念な結果になりました。

質問を出してから時間も立ちますし、とりあえず今回の質問は締め切りたいと思います。

投稿日時 - 2003-05-28 11:02:28

ANo.2

どこかで見たことがあるソースかとと思えば、以前PHPLIBの権限でお話しした方ですね(^^;
勘ですが、HTTP500エラーが出ると言うことは、「以前はDOS版だったけど、今回はコマンドライン版だった」と言うことはあり得ませんか?

投稿日時 - 2003-05-16 10:27:31

補足

おっしゃる通り、PHPLIBの件でお世話になった者です。
kusukusuさんのおかげで、なんとか無事に出来上がったのですが、いざ本番環境に乗せてみると、HTTP500の冷たい文字が表示され、困っています。

実は、本番環境は私が用意していないので、何版かは分からないのですが、確認してみます。
ただ、以前動かしていた物は、RedHatのGUIベースの物でした。

確認してみないと分かりませんが、今回はコマンドライン版の可能性はあります。
但し、Debianにコマンドライン版があるか否かは、調べていないので分かりませんが...

ちなみに、コマンドライン版だと不都合が出るのでしょうか?

投稿日時 - 2003-05-16 15:22:19

ANo.1

う~ん。。。これだけではたぶん誰も何も言えないと思います(^^;
どんなコードですか?

投稿日時 - 2003-05-12 11:37:16

補足

出張に出ていたので、コードを載せるのが遅くなりました。

$downfileは、ファイルのパスが入っていると思って下さい。
------------------------------------------
$fs=filesize($downfile);
header("Content-Disposition: inline; filename=\"".basename($downfile)."\"");
header("Content-Type: application/octet-stream");
header ("Content-Length: $fs");
$fp=fopen($downfile,"rb");
@fpassthru($fp);
------------------------------------------

コードとしては、こんな感じです。

ApacheとPHPについては、新旧のサーバーでバージョンを合わせていますが、LinuxはRedHatとDebianの違いがあります。
また、httpd.confやphp.iniも、それぞれのOSに合わせて、環境設定が異なります。
設定ファイルも、問題のありそうな箇所は、見比べてみましたが、どこが悪いか判断がつきません。

投稿日時 - 2003-05-14 19:32:20

あなたにオススメの質問