Preg_replace는 기본적으로 php5.2에서 허용하는 바이트(pcre.backtrack_limit 및 pcre.recursion_limit 크기)보다 더 많은 바이트를 사용합니다.
Discuz! 6.0.0 정식 버전 프로그램이 출시된 이후 다들 업그레이드에 힘쓰고 있는데 http://www.discuz.net/viewthread.php?tid=559133 와 같은 일부 플러그인은 6.0 미만에서 문제가 발생하고 있습니다. php의 은행 플러그인 5.2.0 이상 환경에서 설치 후 흰색 화면이 나타나는 문제에 대해 Discuz! 사용자 입장에서 플러그인 작성자의 도움을 받아 이 문제를 해결해 보도록 하겠습니다
. 몇 가지 제안을 드릴 수 있기를 바랍니다.
첫째: 이 플러그인은 5.5 미만에서는 정상적으로 실행될 수 있지만 6.0 미만에서는 화면이 흰색으로 표시됩니다.
템플릿 캐시 파일의 가독성을 높이기 위해 Discuz!6.0에서는 캐시 파일 들여쓰기를 늘렸고 실제로 template.func.php의 일부 템플릿 처리 부분을 수정했습니다.
이것이 이유일까요? 처음에는 5.5 코드의 일부로 수정된 코드를 교체한 후 정상적으로 동작하기 때문에 처음에는 여기에 문제가 있다고 판단했지만, 매우 우울해하며 이유를 찾을 수 없었습니다
. Bank.htm 템플릿의 쓰기 형식에 문제가 있어서 매우 우울해서 템플릿을 분석하기 시작했습니다. 솔직히 템플릿이 너무 크면 분석하기가 정말 머리가 아프네요. 분명히 이유가 발견되지 않았습니다. 더 절망적인 것은
두 번째 단계입니다. 그런데 이 템플릿을 분할한 후 정상적으로 실행되는 것을 발견했습니다. 이때 처음에는 데이터 용량이 클 때 정규 매칭 버그가 발생하는지 의심하여 bugs.php 로 들어갔습니다. net은 http://bugs.php.net/search.php?c ... ace&x=3&y=5를 검색하기 시작했고, 여기에서 검색하고 마침내 이 곳을 찾았습니다: http://bugs.php.net/bug .php?id=39405 인데 갑자기 5.2 구성에 문제가 있다는 것을 발견했습니다. 대용량 pcre.backtrack_limit 및 pcre.recursion_limit를 조정한 후 문제가 해결되었습니다.
이렇게 자세하게 작성한 이유는 제 아이디어를 공유하기 위함입니다. 문제 해결을 위해 :)