2017-10-27 22 views
0

PHPにHTTPリクエストを使用してファイルをアップロードするVB.NETソフトウェアがあります。これは5月までうまくいきましたが、65KBを超えるファイルをアップロードすると失敗します。私はそれが正確に動作するのを止めることはできません。しかし、私はそれが関係しているとは思わない。したがって、65KB未満のファイルをアップロードすることが正しく機能することは明らかです。PHPファイルのアップロードが65KBを超えて動作しない

私は自分のホストに尋ねられましたが、私はサーバー上で何のエラーも見られませんでした(私がアクセスできる部分)。 VB.NETは私に適切なエラーを与えませんが、WireSharkを使用して、私は500または400エラーを取得することができました。しかし、それは失敗しているものに私に手がかりを与えませんでした。

私はこの問題を解決しませんでしたが、サーバー上でも問題はないと言いました。 PHP not uploading file over 55 kb

私はファイルを50KB単位で分割してPHPで再結合するという別の方法もあります。しかし、50KBのチャンクでもこれが再び起こる可能性があるので、何が起こっているのかを理解しています。

ServerがあるのApache/2.4.28(Unixの)

EDIT 1 私は新たな条件を持っている:私は今、自分のサーバーがWindows + Apacheの2.4 + PHP 5.6上で実行されています。

もう少し進んでいます。エラー#3:アップロードされたファイルが部分的にしかアップロードされていませんでした。ファイルが停止して、最後の近くで送信されることは一貫しています。だから私は今、HTTP 200応答を受け取るが、そこにいないと思うにもかかわらず病棟の後に失敗する。

  • ファイルをアップロードしているVB.NETソフトウェアを停止しなかったことを証明できます。
  • 私は両側でKeepAliveをOff/Falseに変更してテストしました。運:(
  • は(それは、このVB.NETソフトウェアとのすべての取引のために使用されている)私のメインのファイルにheader ("Connection: close");を追加しようとしましたない。運。
  • があっても、それが現在の問題ではないではありません、私は(PHPを変更しましたコンフィグ)300Mに256Mとpost_max_sizeのにupload_max_filesizeで()、このいずれかを見つけ出すことができれば、それは問題になりますので、

は私からこれらの提案を得た:https://wordpress.stackexchange.com/questions/176465/failed-media-upload-the-uploaded-file-was-only-partially-uploaded

私は試すことができなかっただけWindows上に存在しないようなapache/phpモジュールを置き換えています。

+0

アップローダとサーバーの間にミドルウェアがありますか?おそらくプロキシやその他のツールですか? – raina77ow

+0

いいえ、良い質問です。まあ...私はプロキシを許可するかどうか確認してみましょう。私はそうは思わない。はい、確認しました。していません。 –

+0

@ raina77owあなたの名前を入れるのを忘れてしまったので、私の答えはちょうど上です。 –

答えて

0

サーバーの構成によっては、エラー500が返されたときにerror_logが書き込まれます。問題はエラー400です。wikipedia's list of HTTP codesによれば、実際にはです。不当要求です。試行が行われたときにerror_logから出力されたものは、私たちを正しい方向に向けるでしょう。

+0

私は欲しいですが、ホスティングしている人も私もエラーログを見ていません。 –

+0

PHPファイルに投稿している場合は、phpファイルのTOP(<?)の直後に 'error_reporting(E_ALL);'を追加することができます。これにより、ファイルのパスに 'error_log'というファイルが生成されます。 –

+0

OK!これは古いPHPコードだったので、私は最新のフレームワークバージョンに更新し、 'error_reporting(E_ALL)'を追加しました。残念ながら、error_logにはエラーはありません。しかし、それはエラー400であるためおそらく正常かもしれません。何が起きているのか把握できるように私のホストに伝える手がかりはありますか? –

関連する問題