ECSHOP 완벽 한 해결 추천 하지 않 음:preg질문

PHP 5.5 가 보 급 됨 에 따라 ECSHOP 시스템 에 또 새로운 오류 가 발생 했다.PHP 가 PHP 5.5 버 전 으로 발 전 된 이후 미세한 변화 가 많 았 다.한편,ECSHOP 의 공식 업데이트 가 너무 느 려 서 이런 문제점 을 발견 한 후에 도 신속하게 업그레이드 하지 않 아 사용자 가 설치 하고 사용 하 는 과정 에서 오류 가 발생 했다.한참 동안 말 했 는데 이 새로운 오 류 는 도대체 무엇 입 니까?그의 완전한 오류 알림 정 보 는 다음 과 같 습 니 다.
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in.......
주의:모든 사람의 ECSHOP 이 이 오 류 를 보고 하 는 것 은 아 닙 니 다.PHP 5.5 환경 을 사용 하 는 ECSHOP 만 이 오 류 를 보고 할 수 있 습 니 다.
다음은 ecshop 개발 센터(www.68ecshop.com)튜 토리 얼 에서 오류 가 발생 한 원인 을 말씀 드 리 겠 습 니 다.
1)、오류 원인:
preg_replace()함수 에 사용 되 는 수정자/e 는 PHP 5.5.x 에서 버 려 졌 습 니 다.
만약 당신 의 PHP 버 전이 PHP 5.5.X 라면,당신 의 ECSHOP 는 아래 와 같은 오 류 를 보고 할 것 입 니 다.
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in......
2)、해결 방법:
사실 아까 의 오류 알림 정보 에서 도 하나,둘 을 볼 수 있 습 니 다.preg 를 사용 하 라 고 알려 줍 니 다.replace_preg 대신 콜백replace。
그래서 해결 방법 은 다음 과 같다.
메모 장 이나 다른 PHP 편집 프로그램(예:editplus)을 사용 하여 파일 includes/cls 열기template.php,찾기
return preg_replace("/{([^\}\{]*)}/e", "\$this->select('\\1');", $source);
다음으로 바꾸다
return preg_replace_callback("/{([^\}\{]*)}/", function($r) { return $this->select($r[1]); }, $source);
문제 해결.
3)、당신 의 ECSHOP 에 있 는 다른 파일 도 비슷 한 pregreplace 오 류 는 위의 방법 을 참조 하여 해결 하 십시오.해결 방향 과 해결 방법 은 같 습 니 다.
상기 ECSHOP 완벽 한 해결 추천 하지 않 음:pregreplace()가 잘못 보고 한 문 제 는 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기