찾다

 >  Q&A  >  본문

Excel 파일을 Laravel로 가져올 때 데이터 양이 너무 많아 서버에서 500개의 요청을 받는 경우가 많습니다. 어떻게 해야 하나요?

Laravel Excel 확장 기능을 사용하여 500 오류를 보고하지 않고 서버 구성을 수정하지 않고 10,000개 이상의 Excel 데이터를 빠르게 가져오는 방법, 감사합니다

我想大声告诉你我想大声告诉你2749일 전751

모든 응답(3)나는 대답할 것이다

  • PHPz

    PHPz2017-05-16 16:50:23

    이 상황은 일반적으로 메모리 사용량이 PHP의 최대 허용 구성을 초과하거나 실행 시간이 너무 길어서 시간 초과되는 경우에 발생합니다. Laravel Excel 확장 프로그램을 직접 사용하고 웹 업로드를 기반으로 가져오는 경우 반드시 시간 초과가 발생하고 메모리 크기 제한을 초과하게 됩니다.

    해결책은 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짜리 항목을 한 번에 메모리에 읽어들이고 하나씩 저장할 필요는 없습니다

    으아아아

    회신하다
    0
  • 취소회신하다