Excel スプレッドシートを取得してデータベースに保存する既存の Web ページを編集しています。
スプレッドシートが大きい場合、その間 Web ページとサーバーの間に通信がないため、ページがタイムアウトします。
ページのコンテンツに影響を与えずに Web ページを "ping" する簡単な方法はありますか?
Excel スプレッドシートを取得してデータベースに保存する既存の Web ページを編集しています。
スプレッドシートが大きい場合、その間 Web ページとサーバーの間に通信がないため、ページがタイムアウトします。
ページのコンテンツに影響を与えずに Web ページを "ping" する簡単な方法はありますか?
最大実行時間を超えているために PHP ページがタイムアウトしている場合ini_set
は、ページの上部で次のコマンドを使用して、そのスクリプトの最大実行時間を設定してみてください。
ini_set("max_execution_time", "600"); // Now times out after 5 minutes
ニーズに合わせて調整してみてください。
スクリプトが終了するまでに非常に長い時間がかかる場合は、これらのファイルを処理するためのキューを設定する以外に選択肢がない場合があります。メインの PHP スクリプトは、ファイルをこのキューに挿入するだけで、後で cron ジョブによって処理されます。後でその結果をポーリングするだけです。
可能ですが、実装によって異なります。たとえば、Excelファイルを行ごとに処理する場合は、次のように実行できます。
<?php
while($notDone) {
$row = proccessExcelRow($excelFile);
// echo javascript so your browser won't fill the page with empty markup
echo '<script type="text/javascript"></script>';
@flush(); @ob_flush();
}
ただし、スクリプトにmaximum_execution_limitよりも時間がかかる場合は、役に立たない。バックグラウンドで特殊なプロセスに転送する以外に方法はありません