질문/조언팁/리소스 공유

php5 환경에서 잘 운영하던 사이트를  php7 환경으로 이전하거나 신규로 사이트를 운영시..

1.코드를 아무리 봐도 문제가 없으나 작동을 안함

2.php5.x 에서는 잘되던 페이지가 백지로 나옴

3.템플릿 문법이 그대로 출력됨 cond 라던지 block 등..

 

xe의 레이아웃,모듈,애드온,스킨의 코드가 길어 xe 코어에서 템플릿을 끝까지 php 코드로 컴파일 하지 못하는 문제점입니다.

당혹 스러운건 php 오류를 내지 않을 경우가 많습니다,

 

해당 문제가 생길경우 웹 호스팅 환경을 확인해 수정 요청을 해보세요.

 

php.ini 환경을 확인 <?php phpinfo(); ?>

 

pcre.backtrack_limit  1400000 이상 <-  중요, php.net의 기본값 1000000 이며 , 이하일 경우 웹호스팅 업체에서 수정 했을 가능성이 높음

pcre.recursion_limit  100000 이상 <- php.net의 기본값이 100000

 

http://php.net/manual/kr/pcre.configuration.php

 

변경후 반드시 xe 캐시 파일을 삭제후 사이트 확인을 해보세요.

 

설정 값들이 낮아도 xe 초기 설치시는 대부분 문제 없습니다.

이런저런 기능이 있는 레이아웃,애드온등을 추가해서 사용하게 되면 좀 높게해서 사용하시면 되겠습니다.

 

직접 서버를 구축하여 강제로 오류 발생후 해당 값을 조금씩 조정하면서 테스트해봤습니다.

글쓴이 구름이

profile
구름입니다^^
  • profile
    음......이게 저의 문제 같네요 한번 알아보겠습니다 그럼 저는 이번에 15000000으로 올려볼까요???
  • profile profile
    pcre.recursion_limit 도 같이 올려 보시길^^
    변경후 반드시 캐시파일 삭제를 해주시고 테스트 해보세요.
  • profile profile
    넵 너무나도 고맙습니다 새해 복 많이 받으실거에요 ㅎㅎ
  • profile profile

    지금 보니 진짜 이렇게 나오네요 ㅠㅠ 수정을 해야만 할것 같아요 

     

    sdcdsacdas.PNG

     

     

    그럼 여기서 "pcre.backtrack_limit" 이거하고 "pcre.recursion_limit" 이거 2개 같은 크기로 키우면될까요 

     

    2개다 "1500000" 로 키워 볼가요 ...?

  • profile profile
    pcre.backtrack_limit 1900000
    pcre.recursion_limit 150000

    이정도면 충분할것 같습니다.
  • profile profile

    감사 합니다 "pcre.backtrack_limit"가 기본적으로 더 커야 하는군요
    바로 해볼게요 다시 한번 감사 합니다 (--)(__)


서버에 요청 중입니다. 잠시만 기다려 주십시오...