>백엔드 개발 >PHP 튜토리얼 >더 이상 사용되지 않는 솔루션: ECSHOP의 preg_replace() 오류

더 이상 사용되지 않는 솔루션: ECSHOP의 preg_replace() 오류

*文
*文원래의
2017-12-29 17:59:472546검색

이 글에서는 ECSHOP이 Deprecated: preg_replace() 오류 문제를 완벽하게 해결하는 방법을 설명합니다. 모든 사람과 공유하고 모두에게 참고 자료를 제공하세요. 그것이 모두에게 도움이 되기를 바랍니다.

PHP 버전 업데이트로 ECSHOP 시스템에서 새로운 오류가 발생했습니다. ECSHOP 공식 업데이트는 너무 느리고, 이러한 문제를 발견한 후에도 제때 업그레이드되지 않아 설치 및 사용 시 사용자에게 오류가 가득합니다. 오랫동안 얘기해 본 결과, 이 새로운 오류의 전체 오류 메시지는 다음과 같습니다:

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback in...

참고: 모든 사람의 ECSHOP은 아닙니다. 이 오류를 보고합니다. PHP5.5 환경을 사용하는 ECSHOP만 이 오류를 보고합니다.

다음 ecshop 개발 센터(www.68ecshop.com) 튜토리얼에서는 먼저 오류 이유에 대해 설명합니다:

1), 오류 이유:

preg_replace() 함수에 사용된 수정자 /e는 다음과 같습니다. PHP5.5.x에서는 더 이상 사용되지 않습니다.

PHP 버전이 PHP5.5인 경우 ....

2) 해결 방법: 사실, 방금 나온 오류 메시지에서도 뭔가를 볼 수 있습니다. preg_replace_callback을 사용하라는 메시지가 표시됩니다. preg_replace 대신.

그래서 해결책은 다음과 같습니다:

메모장이나 기타 PHP 편집 소프트웨어(예: editplus)를 사용하여 include/cls_template.php 파일을 열고

return preg_replace("/{([^}{n] *)}/ e", "$this->select('\1');", $source);

return preg_replace_callback("/{([^}{n]*)}/로 대체되었습니다. ", function( $r) { return $this->select($r[1]); }, $source);

문제가 해결되었습니다.

3), ECSHOP의 다른 파일에서도 유사한 preg_replace 오류가 보고되는 경우 위의 방법을 참고하여 해결하시기 바랍니다.

관련 권장사항:

PHP 튜토리얼 - Ecshop 보조 개발(3)

ecshop을 사용하여 백엔드 상품 테이블에 필드를 추가하세요

추천 5 잘 알려진 모방 -상거래 회사 웹사이트 ECshop 템플릿(컬렉션)

위 내용은 더 이상 사용되지 않는 솔루션: ECSHOP의 preg_replace() 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.