ECshop 이 PHP 7 버 전 으로 이전 할 때 발생 하 는 호환성 문제

PHP 7 에 ECShop V 2.7.3 을 설치 할 때 오류 가 발생 했 습 니 다!
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ECS has a deprecated constructor in /usr/local/nginx/html/ecshop/upload/includes/cls_ecshop.php on line 25
 
이 신문 이 틀린 이 유 는 PHP 7 이 유사 이름과 같은 구조 방법 을 지원 하지 않 고 구조 방법 을 통일 적 으로 사용 하기 때 문 입 니 다construct(),예 를 들 어 아래 의 쓰기 PHP 7 은 이 오 류 를 보고 합 니 다.

<?php 
class foo { 
function foo() {
echo 'I am the constructor';
}
}
?>
ecshop 으로 돌아 가서 clsecshop.php 파일 의 25 줄 입 니 다.아래 와 같다
 
역시 유사 이름과 같은 구조 방법 이 있 습 니 다.우 리 는 구조 방법 ECS 를 로 수정 합 니 다.construct,
 
ecshop 의 설치 첫 페이지 로 돌아 가 새로 고침 하 니 오류 가 없 었 습 니 다.
 
다음 단 계 를 누 르 면 오 류 를 보고 합 니 다.
Deprecated: Non-static method cls_image::gd_version() should not be called statically in /usr/local/nginx/html/ecshop/upload/install/includes/lib_installer.php on line 31
 
이 오류 의 원인 은 정적 으로 비 정적 인 방법 을 호출 하 는 것 이다.예 를 들 어 아래 의 코드 가 이 오 류 를 보고 할 것 이다.

<?php 
class foo { 
function bar() {
echo 'I am not static!';
}
}
foo::bar(); 
?>
수정 방법 도 간단 하 다.이 방법 을 정적 방법 으로 바 꾸 거나 비 정적 호출 으로 바 꾸 는 것 이다.잘못된 보고 서 를 보 겠 습 니 다 libinstaller.php 의 31 줄 코드
 
cls image 류 파일 의 gd version()방법 도 있 습 니 다.static 키 워드 를 사용 하지 않 은 것 을 볼 수 있 습 니 다.
 
첫 번 째 수정 방식 은 이 방법 을 정적 방법 으로 수정 하고 방법 전에 키워드 Public static 을 추가 합 니 다.
 
두 번 째 수정 방식 은 비정 상 방식 으로 호출 되 고 lib 를 수정 합 니 다.installer.php 의 31 줄 코드
 
이 두 가지 방법 은 모두 문 제 를 해결 할 수 있다.ecshop 의 설치 단계 두 번 째 페이지 로 돌아 가면 오류 알림 이 사 라 졌 습 니 다.
 
다음 비극 입 니 다.PHP 7 은 원본 my sql api 를 지원 하지 않 습 니 다.PHP 7 은 더 좋 은 Mysqli API 와 Pdo 를 지원 합 니 다.mysql api 때문에 ecshop 에서 mysql 을 조작 하 는 api 를 고치 지 않 으 면 PHP 7 에서 실행 할 수 없습니다.
 
OneAPM for PHP 는 모든 PHP 응용 내부 에 깊이 들 어가 응용 성능 관 리 를 완성 할 수 있 고 모든 PHP 응용 내부 에 깊이 들 어가 응용 성능 관리 와 감 시 를 완성 할 수 있다.이 는 코드 등급 성능 문제 의 가시 성,성능 병목 의 신속 한 식별 과 트 레이스,실제 사용자 체험 모니터링,서버 모니터링 과 말단 의 응용 성능 관 리 를 포함한다.
위 에서 언급 한 바 와 같이 ECshop 이 PHP 7 버 전 으로 이전 할 때 겪 는 호환성 문 제 를 공유 하 였 으 니 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기