2011-03-03 4 views
0

Phing을 사용하여 대형 PHP 프로젝트의 빌드 프로세스를 설정하고 있습니다. stripphpcomments 지시어가 파일을 복사 할 때 유용 할 것이라고 생각하여 추가했습니다. 그러나이 지시문을 포함하여 Phing을 실행하면 "세그먼트 화 오류"메시지와 함께 복사 프로세스 오류가 발생합니다. exclude/include 문으로 많은 테스트를 한 후, 나는 특히 두 개의 파일, 즉 jquery-1.4.2.min.js와 다소 큰 HTML 파일로 범인을 좁혔다.Phing이 필터 체인에서 stripphpcomments가있는 복사 작업에서 "Segmentation Fault"를 발생시킵니다.

필자는 하나의 파일 세트를 두 개의 파일 세트로 나눠서 문제를 해결했습니다 : PHP 클래스 파일과 그 밖의 모든 것들, 그리고 stripphpcomments 만있는 첫 번째 세트로 filterchain을 적용하는 것입니다. 그러나 누군가이 문제에 부딪혔다면 궁금합니다. 이전에, 그리고 세그먼테이션 결함이 발생하는 조건은 무엇입니까? 위의 두 파일이 공통점이 있다고 생각할 수있는 유일한 점은 두 파일이 너무 길다는 것입니다.

+0

문제를 재현 할 수있는 몇 가지 코드를 제공해 주시겠습니까? – vissi

+0

안녕하세요. 근원에있는 빠른 눈을 바탕으로 한 추측. Phing이 전체 파일을로드하고 preg_replace를 사용하는 것처럼 보일 수 있으므로이 php 매개 변수 (http://php.net/manual/en/pcre.configuration.php)를 늘리십시오. 문자열이 100k 문자보다 긴 경우 실패합니다. 나는 나중에 이것을 시험해 볼 것입니다. –

+0

문제는 jquery-1.4.2.min.js입니다. 이 파일에서는 Phing 버전 2.4.4가 실패하지만 (100MB +) 매우 큰 파일에서도 작동합니다. 문제는 정규 표현식입니다. PHP 스트립 주석에 사용됩니다. 제 제안은 Phing에게보고하는 것입니다. –

답변

0

"세분화 오류"는 PHP 자체의 오류입니다. 최신 PHP 버전 (현재 5.3.6)으로 업그레이드 한 후 사용해보십시오. 그래도 여전히 오류가 발생하면 EFnet IRC 서버의 # php.pecl에서 좋은 PHP 버그 보고서를 작성하는 방법을 확인하십시오.

관련 문제