2012-06-04 4 views
0

어떤 해결책이 존재하고 지연과 관련하여 codeplex에서 php-excel 라이브러리의 메모리를 할당 할 수 있습니까? 문제는 codeplex의 php-excel 라이브러리를 사용하여 데이터를 내보내고 싶을 때 시간이 너무 오래 걸리고 메모리를 최대한 할당하는 것입니다.PHP-EXCEL 라이브러리 프로세스 메모리/지연

아래 사용 사례를 들어

:

  • 램 크기는 : 4G
  • 데이터 내용 3500 개 기록 우리가 파일을 Excel로 데이터를 내보낼 클릭하면 약

이하의 메시지가 표시됩니다 :

Fatal error:Allowed memory size 10773741824 bytes exhausted (tried to allocate 59 bytes...)

나는 3G에 할당 메모리를 늘리지 만 리소스는 맥스에게 익숙한 데 ... 왜이 사건을 맡았 니? 그리고 일어난 일은 무엇입니까?

+0

i가 사용되었습니다. ini_set ('memory_limit', '3072M'); 하지만 나는이 명령이 ... 비록 할당 메모리가 너무 큽니다 ... 그리고 수출의 지연에도 불구하고 어떤 문제가 발생하는지 모르겠습니다 ... –

+0

아니오! 그것은 정상이 아닙니다! 기록은 얼마나 큽니까? PHPExcel 캐싱을 사용하고 있습니까? PHPExcel에 저장하기 전에 모든 데이터베이스 레코드를 PHP 메모리로 읽는 중입니까? 얼마나 시간이 걸려요? –

+0

나는 php 엑셀 캐싱을 사용하지 못하게했다. 왜냐하면 나는 더 많은 시간이 걸릴 것이라고 생각하기 때문에 (나는 잘 모르겠다), 프로세스는 데이터베이스 레코드를 읽고 phpExcel에 저장하는 것보다 시간이 오래 걸린다. 내 생각에, 예제를 찾으십시오 : 데이터 크기 450KB는 19 초가 필요합니다 ... 모든 솔루션이 사용되는 할당 메모리를 내보내는 시간을 줄이기 위해 존재합니까 ??? –

답변

0

우리는 저장 파일과 프로세스를 위해 저장된 파일로 직접 데이터를 내보낼 수 있습니다. 텍스트 파일이 너무 효율적이지만 csv의 경우 파일을 Excel 형식으로 계산하고 라이브러리 사용 능력을 계산해야합니다 발행물.