2011-07-04 3 views
0

나는 PHP로 추가 한 내용을 처리하기 위해 https://github.com/rodneyrehm/CFPropertyList에서 CFPropertyList를 사용하고 있습니다.CFPropertyList로 큰 .plist 파일을 처리하십시오.

모두 괜찮 았지만 이제는 모든 내용이 추가됩니다. 내 파일에는 크기가 약 700KB가 있지만 파일을 저장하려고 할 때 Apache 충돌을 일으킬 정도로 클 것 같습니다.

자식 PID 1278 종료 신호 분할 오류 내 응용 프로그램에서 많은 시간이> CFPropertyList-에 전화로 촬영 수입()와 CFDictionary-> 대해 toXml (되었는지 CacheGrind에서 볼

) 그래서 거기에 병목이 될 수 있습니까 ???

한번에 많은 변경을하고 있습니까? 한 번에 너무 많은 변경 사항을 저장하지 않으려면 변경 사항을 더 많이로드()하고 저장()해야합니까?

단서가 있습니까?

답변

0

bugs.php.net 할 수있는 문제 문서와 재귀 루프에서 귀하의 함수를 엄청난 시간을 호출.

PHP에서 심각한 오류나 경고로 끝나지 않는 segfault를 유발하는 무한 루프를 생성하기 때문에 이러한 오류가 발생합니다.

1

PHP에서 문제는 있지만 버그는 발생하지 않는 크기라고 생각합니다. Segfault는 PHP 자체에 심각한 버그가있는 경우에만 발생합니다.

다음 단계 :

  • :

    • 첫째, 더 이상 발생하지 않는 경우 최신 PHP 버전 (5.3.6)
    • 로 업그레이드, 그것은 여전히 ​​발생
    • 행복 해요 20 줄을 넘지 않는 PHP 스크립트로 문제를 재현하십시오.
    • 보고서는 알 수없는 크기의 문서에 searchNode() 함수를 구현할 때, 당신은 항상 아래로 스테핑 피하기 위해 "깊이"매개 변수를 사용해야합니다
+0

MAMP에 대한 재 컴파일이 쉽지 않으므로 PHP를 로컬로 업그레이드 할 수 없습니다. 하지만 다른 버전의 서버에서 동일한 문제가 있습니다. VM을 사용해 보겠습니다. – spankmaster79

+0

또한 seg 오류를 일으키는 무한 루프 일 수 있습니까? – spankmaster79

관련 문제