프로젝트에서 preg_match를 사용하여 대상 콘텐츠를 추출하는데 문제가 있어 코드가 테스트되었습니다.
나중에 나는 PHP의 preg_match에 문자열 길이 제한이 있다고 의심했습니다. 물론, "pcre.backtrack_limit"의 값이 기본적으로 100000으로만 설정되어 있다는 것을 발견했습니다.
해결책: ini_set('pcre.backtrack_limit', 999999999);
참고: 이 매개변수는 PHP 5.2.0 버전 이후에 사용할 수 있습니다.
또한, pcre.recursion_limit에 대해서도 이야기해 보겠습니다
pcre.recursion_limit는 PCRE의 재귀 제한입니다. 이 항목을 큰 값으로 설정하면 모든 프로세스의 사용 가능한 스택이 소모되어 결국 PHP가 충돌하게 됩니다.
다음 구성을 수정하여 제한할 수도 있습니다: ini_set('pcre.recursion_limit', 99999);
실제 프로젝트 적용에서는 메모리를 제한하는 것이 가장 좋습니다. ini_set('memory_limit', '64M'); 이것이 더 안전합니다.