2016-07-13 6 views
1

PHPとcURLを使用してOneNote REST APIを使用して添付ファイルをダウンロードしています。ファイル< 30.0 MBですべてがスムーズに進みますが、それ以上のサイズのものは502 Bad Gatewayエラーとなり、データは生成されません。OneNote REST API - 大きな添付ファイルをダウンロードすると502の不正なゲートウェイエラーが発生する

一方、502エラーのあるa different situation(共有ノートブック)では、APIリクエストに「FavorDataRecency:true」が追加されているため、このような状況では問題は解決されません。

この問題の回避方法は?

[EDIT]

それはタイムアウト問題(ありがとうジム)です。私のログは、ファイルのダウンロードが502エラーで停止したことを正確に120秒で示しています。

私のPHPスクリプトは、Windows 10のIIS 10でlocalhost上で実行されています。IISの接続タイムアウトが120秒であることがわかった時、しかし、私はそれを240秒に上げました、タイムアウトの壁はまだそこにあります。私が作った

その他の設定の変更:

  • が追加
  • IIS 10で240秒のCURLOPT_TIMEOUT(だけでなく、既に設定されている240秒のCURLOPT_CONNECTTIMEOUTを)のFastCGIのrequestTimeoutとactivityTimeoutを持ち上げました。

他にタイムアウトの設定がありますか?

OneNoteサーバーでタイムアウトが発生する可能性はありますか?

答えて

1

途中でタイムアウトしているような音がします。 PHPはmaximum execution time iniファイルの設定、cURL has timeout settingsを持ち、さまざまなWebサーバが最大接続時間を持つことができ、このポストは似ています。"Bad Gateway Error 502" when trying to download server-generated .zip file

それはあなたが実行しているどのようなソフトウェアスタックに依存するが、そのあなたのタイムアウト値の構成設定をチェックします大きなファイルをダウンロードすることによって、おそらく超過する可能性があります。これは、PHP、Apache、FCGI/FastCGIのタイムアウトにも役立つリソースです。https://www.devside.net/wamp-server/apache-and-php-limits-and-timeouts

+0

Jimに感謝します。私はすでにPHPスクリプトでタイムアウトを無効にしていました: 'ini_set( 'MAX_EXECUTION_TIME'、-1);' 'に変更し、cURLコールのタイムアウトを10分に設定しました: 'CURLOPT_CONNECTTIMEOUT => 600' しかし、私はサーバーオプションについても探求します。 – Velojet

+0

はい、途中で120秒のタイムアウトに間違いなく当たっています(この方向で私を指してくれてありがとう、ジム)。私は質問を編集して、私が今撮ったさらなるステップと、私が集めた情報を追加しました。 – Velojet

+0

私はそれがMicrosoftのAPIがダウンしていることと関係があるとは思っていませんが、事前にファイルを使って別のことをしようとしている可能性があります(ウイルススキャン?)。ネットワークの状態を見て、大量のデータをダウンロードしているかどうかを確認してください。もしそうでなければ、大きなファイルで何かをしようとしている間にサービスがハングアップする可能性があります。そうであれば、タイムアウトのために狩りを続ける必要があります。 – Jim

関連する問題