내 서버에서 말한다 나는 다음과 같은 오류가 있습니다허용 메모리 크기를 소진하지만 memory_get_peak_usage 그렇지 않으면
이 루프 (foreach는 하나) 내가 루프에서 메모리 사용에 체크하고있어에서 발생Allowed memory size of 268435456 bytes exhausted
내가 7254128
를 얻을
memory_get_peak_usage();
가 배출되는 268435456
에서 멀리이다!
여러 곳에서 확인했는데 메모리 사용량이 격렬하게 늘어나지 않아서 문제가 어디 있는지 정말로 알 수 없습니다!
내가 여기
코드가 문제를 일으키는 내php.ini
파일 만
16M
에 메모리 제한을 살고 있고 어디 동일한 스크립트 내 로컬 컴퓨터에서 잘 작동하고,하지만 난 정말 유용하지 않을 것이라고 생각 그것은 question2answer 오픈 소스가 플랫폼의 플러그인에서이다 :
foreach ($badges as $slug => $info) {
$badge_name=qa_badge_name($slug);
if(!qa_opt('badge_'.$slug.'_name'))
qa_opt('badge_'.$slug.'_name',$badge_name);
$name = qa_opt('badge_'.$slug.'_name');
}
그래서 ....'qa_opt' 또는'qa_badge_slug'에서 재귀 적으로 실패했을 가능성이 있습니까? – Wrikken
나는 그것을 포스트에 넣었지만, 유용하다고는 생각지 않는다. 플러그인에서 왔기 때문에 구문이 특별하다. 그리고 코드가 깨끗하지 않다는 것을 알고 있습니다. 그 코드는 작동하지 않습니다. – darkheir
@Wrekken 그것은 foreach 중에 발생할 수 있습니까? 루프의 첫 번째 회전은 잘 수행되지만 두 번째 회전에서는 오류가 발생하기 때문입니다. 그리고 내 로컬 컴퓨터에서 작동 중입니다. 이로 인해 이상한 점이 추가되었습니다! – darkheir