検索

ホームページ  >  に質問  >  本文

ExcelファイルをLaravelにインポートすると、データ量が多すぎてサーバーが500リクエストを受け取ることがよくあります。どうすればよいですか?

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

我想大声告诉你我想大声告诉你2825日前834

全員に返信(3)返信します

  • PHPz

    PHPz2017-05-16 16:50:23

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

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

    • 時間制限のあるタスク

      リーリー
    • タスクキュー

      リーリー

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

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:50:23

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

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

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-16 16:50:23

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

    返事
    0
  • キャンセル返事