이 글에서는 ThinkPHP3.2.3을 php5에서 php7로 업그레이드하는 방법을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
먼저 ThinkPHP3.2.3은 php7을 지원하나요?
Windows에서는 이전 프로젝트가 Apache2.4.17+php5.x 버전으로 배포되었습니다. 왜냐하면 고객의 네트워크 보안 검사에서 Apache 및 PHP의 고위험 취약점을 포함하여 수백 번에 걸쳐 긴급하게 발견된 취약점이 있었기 때문입니다. 복구가 필요하며, 복구되지 않으면 사이트가 폐쇄됩니다.
그래서 소프트웨어 공급업체에 연락했는데, 업그레이드에 협력하겠다고 약속했지만 결국 업그레이드에 실패했다는 답변은 ThinkPHP3.2.3은 php7에 배포할 수 없다는 것이었습니다.
그래서 혼자서 3~4일 더 헤매다가 드디어 업그레이드에 성공했습니다. 이제 전반적인 과정을 알려드리겠습니다.
1. Apache 업그레이드, 다운로드 주소 http://httpd.apache.org/download.cgi, 다운로드 버전은 2.4.33
가장 중요한 것은 아래와 같은 구성 파일입니다.
apache php 지원 로딩 중
PHPIniDir d:/GPS-LOCK/php/php.ini
LoadModule php7_module D:/GPS-LOCK/php/php7apache2_4.dll
이 단계에서 많은 문제가 발생했습니다. PHPIniDir 경로, 아파치를 활성화할 수 없습니다. 시작되지 않습니다. 마지막으로 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 디렉터리에 복사해야 합니다. 일반적으로 php7에서 프로젝트는 멀티스레딩을 사용합니다. php는 pthread를 지원해야 하며 php.ini 파일에 Extension=pthreads를 추가한 후 아파치를 다시 시작할 수 없습니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!