ExcelファイルをLaravelにインポートすると、データ量が多すぎてサーバーが500リクエストを受け取ることがよくあります。どうすればよいですか?
我想大声告诉你
我想大声告诉你 2017-05-16 16:48:23
0
3
747

Laravel Excel 拡張機能を使用して、サーバー構成を変更せずに 500 エラーを報告せずに 10,000 個を超える Excel データをすばやくインポートする方法、ありがとう

我想大声告诉你
我想大声告诉你

全員に返信(3)
PHPzhong

この状況は通常、メモリ使用量が PHP の最大許容構成を超えた場合、または実行時間が長すぎてタイムアウトした場合に発生します。 Laravel Excel 拡張機能を直接使用し、Web アップロードに基づいてインポートすると、確実にタイムアウトになり、メモリ サイズの制限を超えます。

解決策は、Laravel のスケジュールされたタスクまたはタスクキューを使用することです。

  • 時間制限のあるタスク

    リーリー
  • タスクキュー

    リーリー

    最後のインポートが完了したら、非同期データのインポートでメモリやタイムアウトによるエラーが発生しないように、インポート結果をデータベースまたはその他の保存方法に書き込みます。

いいねを押す +0
曾经蜡笔没有小新

それは普通です。これにはよく遭遇します。そこで拡張機能を開発しました。
https://git.oschina.net/xavie...
https://github.com/xavieryang...

PHP による xls のインポートに関する問題は非常に深刻です。xlsx は圧縮パッケージに xml を加えたものであるため、xls よりも優れています。 xls はバイナリ ファイルであり、解析する前に完全にロードする必要があり、解析は比較的複雑です。現在普及している PHPEXCEL は xls の処理が非常に遅く、xls のインポート時に解析に失敗することがよくあります。

いいねを押す +0
巴扎黑

一度に1Wのアイテムをメモリに読み込む必要はありません。1つずつ読み込んで、1つずつ保存します。 リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート