50 メガバイトの .csv ファイルを解析しようとしています。ファイル自体は問題ありませんが、関連する大規模なタイムアウトの問題を回避しようとしています。ファイルを簡単にアップロードして再度開くことができますが、ブラウザのタイムアウト後に 500 内部エラーが発生します。
ファイルをサーバーに保存して開き、処理した行のセッション値を保持できると思います。特定の行の後、更新を介して接続をリセットし、中断した行でファイルを開きます。これは実行可能なアイデアですか?前の開発者は非常に非効率な MySQL クラスを作成し、それがサイト全体を制御しているため、必要がなければ独自のクラスを作成したくありません。また、彼のクラスを台無しにしたくありません。
TL;DR バージョン: 38,000 行の製品がある CSV ファイルの現在の最後の行を保存し、X 行の後に接続をリセットして、中断したところから開始するのは効率的ですか? または、タイムアウトなしで大きな CSV ファイルを解析する別の方法はありますか?
注: PHP スクリプトの実行時間です。現在 38,000 行で、コマンド ラインからの実行には約 46 分 5 秒かかります。ブラウザーから削除すると、100% 正しく動作し、ブラウザーのタイムアウトであることを示唆しています。Google が私に言った限り、Chrome のタイムアウトは編集できず、Firefox のタイムアウトはめったに機能しません。