>  기사  >  백엔드 개발  >  ThinkPHP3.2.3을 php5에서 php7로 업그레이드하는 어려운 과정에 대해 이야기해 보겠습니다.

ThinkPHP3.2.3을 php5에서 php7로 업그레이드하는 어려운 과정에 대해 이야기해 보겠습니다.

coldplay.xixi
coldplay.xixi앞으로
2021-03-02 09:17:323095검색

ThinkPHP3.2.3을 php5에서 php7로 업그레이드하는 어려운 과정에 대해 이야기해 보겠습니다.

우선 ThinkPHP3.2.3은 php7을 지원하나요?

이전 프로젝트는 Windows 환경에서 Apache2.4.17+php5.x 버전으로 배포되었는데, 고객 측 네트워크 보안 검사로 인해 apache, php의 고위험 취약점을 포함해 수백개에 달하는 취약점이 발견되었습니다. 긴급하게 복구가 필요한 경우가 많으며, 복구하지 않을 경우 사이트가 폐쇄됩니다.

그래서 소프트웨어 공급업체에 연락했는데, 업그레이드에 협력하겠다고 약속했지만 결국 업그레이드에 실패했다는 답변은 ThinkPHP3.2.3은 php7에 배포할 수 없다는 것이었습니다.

그래서 혼자서만 3~4일 고민한 끝에 드디어 업그레이드에 성공했습니다. 이제 전반적인 과정을 공유해드리겠습니다.

추천(무료): PHP7

1. 아파치 업그레이드, 다운로드 주소 http://httpd.apache.org/download.cgi, 다운로드 버전은 2.4.33

​​​​​​​가장 중요한 것은 아래와 같은 구성 파일입니다:

apache loading php support

PHPIniDir d:/GPS-LOCK/php/php.ini
LoadModule php7_module D:/GPS-LOCK/ php/php7apache2_4.dll

at 이 단계에서 PHPIniDir 경로가 활성화되면 Apache를 시작할 수 없는 문제가 발생했습니다. 마지막으로 php.ini 파일이 php_ptheads.dll 멀티스레딩을 참조하는 것으로 나타났습니다. 반복적인 시도 끝에 문제가 해결되었습니다.

2. PHP 업그레이드, 다운로드 주소: https://windows.php.net/download/ 여기서 다운로드는 7.2.26입니다.

이제 php7을 업그레이드할 때 예상되는 문제점을 요약해 보겠습니다

1. 여기에 설치됩니다. php7에 해당하는 컴파일된 vc++ 클래스 라이브러리 버전인 vc_redist.x64.exe는 vc15

2, sql server 데이터베이스 지원

과 함께 설치됩니다. php7은 기본적으로 sql server 관련 dll을 로드하지 않기 때문입니다

3, SQL Server용 PHP용 Microsoft 드라이버를 다운로드해야 합니다 https://www.microsoft.com/en-us/download/details.aspx?id=20098, 버전 7.2를 다운로드했습니다

위치 파일을 다음과 같이 수정하세요

4.php7의 php.ini 파일에는 php_.dll如上图配置就行 , 当前需要把解压的文件拷贝到phpext디렉토리

에서 ext가 생략되어 있습니다. 3. php7에서도 시스템이 정상적으로 실행될 수 있을 거라 생각했는데, 결과적으로 프로젝트는 멀티스레딩을 사용하고 php가 필요했습니다. pthreads를 지원하기 위해 현재 php.ini 파일이 충돌하려고 합니다. Extension=pthreads를 추가하면 Apache를 다시 시작할 수 없습니다. ptheads는 cli 모드에서 실행해야 하는 것으로 나타났습니다. ptheads 다운로드 주소는 https://windows.php.net/downloads/pecl/releases/pthreads/

다운로드 패키지의 압축을 해제하세요

1. php_pthreads.dll을 phpext 디렉토리에 복사하세요.

아파치를 다시 시작했는데 ptheads가 cli 모드에서 실행되어야 한다는 걸 발견했습니다. 내 솔루션은 두 개의 php.ini 구성 파일을 만드는 것입니다. 하나는 사이트에서 php.ini를 사용하고 다른 하나는 php-cli.ini 파일을 사용하는 것입니다. 이번에 드디어 업그레이드 경로가 완료되었습니다.

원래 포스터는 PHP 전공이 아니었기 때문에 여러 번 우회했지만, 모두가 이 문제에 직면하면 함께 소통하고 토론할 수 있습니다.

위 내용은 ThinkPHP3.2.3을 php5에서 php7로 업그레이드하는 어려운 과정에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제