이것은 상당히 논의 된 것 같습니다. 나는 내가 찾은 몇 가지 것을 시도했지만 운은 없다.PHP - 혜성 메모리 문제
XML 호출에서받은 객체를 저장하는 "해킹"캐시가 내장되어 있습니다. XML 호출은 페이지로드에 너무 오래 걸리는 것으로 판명되었으므로 사용자는 관리자의 버튼을 눌러 캐시를 다시 작성할 수 있습니다. 캐시 루틴은 메모리 할당 오류로 인해 계속 죽어갑니다.
나는 이것이 매우 모호한 질문이라는 것을 알고 있지만 큰 부분의 코드를 게시하는 데 도움이 될지 확신하지 못합니다.
사용을 마친 후에 나는 모든 설정을 해제하고 있습니다. gc_collect_cycles()는 아무것도하지 않는 것 같습니다.
나는 두명 이상의 익명의 함수를 가지고 있는데,이 함수는 이상으로 호출된다 .... 이들은 범인이 될 수 있을까?
무엇을 찾고 있습니까? 수면() 도움이 전혀 도움이 되겠습니까? http://pastebin.com/8M1Dk73E
페이스트 빈 코드의 라인 79에, 내가 전화 한 gc_collect_cycles : 여기에 코드 편집
는 코드입니다. 그것이 좋은 장소인지 아닌지 확실하지 않습니다.
for 루프 대신 foreach 루프를 사용하고 있는데, 이는 복사되는 개체와 큰 차이가 있음을 알고 있지만 실행 시간이 길어질지라도 변수를 설정 해제하면 동일하게 작동해야한다고 생각합니다.
글쎄, 나는 손실에 처해있어 어떤 생각이 도움이 될 것입니다.
몇 가지 질문 : 얼마나 많은 메모리가 PHP에 할당됩니까? 오류 메시지를 인쇄 할 수 있습니까? 항목을 가져 오는 순서를 변경하는 동안 10 번 실행하면 일반적으로 동일한 행 번호 (큰 메모리 잡기를 담당하는 코드 일 수 있음)에서 만료됩니까? 코드의 큰 덩어리를 실제로 볼 수 있습니다 :) –
128MB 할당 됨, 오류 : "치명적 오류 : 허용 된 메모리 크기 134217728 바이트가 소모되었습니다 (5426168 바이트 할당) ..."실제로 죽습니다 나는 매번 같은 줄에서 코드와 관련해서는 기쁘다 고 인정합니다. 메모리를 늘릴 다른 방법을 모르겠습니다. 이것은 제가 말할 수있는 것이 아닙니다. 아, 우리는 메모리 크기를 늘리고 하루라고 부릅니다. 검색되는 데이터의 크기가 일부 사람들에게는 엄청날 수 있기 때문입니다. –