시작
PHP 7.X 에서 PHP 8.X 업데이트를 해야 할 시기가 왔네요.
기존소스에 뭔 짓거리를 했는지 기억도 안나는데 막막하네요. 가장 깔끔한 방법은 XAMPP 를 언인스톨 한후,
재 설치를 하면 되는데, 아시죠? 왜 안하는지. 서비스 중이기 때문에 더더욱 고민입니다.
물론 PHP 업데이트 후에 문제는 예상이 됩니다. 하지만 이게 그나마 최선!!
XAMPP 전체를 업데이트 할 수는 없어서 PHP 만 바꾸는 방법을 소개할게요.
간단요약
최소 셋팅으로, 기존 XAMPP 중 특정폴더를 백업해 두고, 새로운 버전 XAMPP를 다운로드후, 교체합니다. 끝~ 참 쉽네요!!
그냥 따라하기
1. 서비스 정지 (Apache, MySQL)
2. XAMPP 폴더 열기
탐색기로 직접 여시면 됩니다. 보통 C:\xampp 에 설치가 됩니다.
못찾겠다면, 빨간색 버튼을 눌러주세요
3. 폴더명 변경하기
나중에 apache, php 폴더를 교체(덮어쓰기)를 해 줄건데요, 혹시 다시 되돌릴수도 있으니 안전하게
이름을 교체해 줍니다.
교체전 다시 롤백을 할 수 있어야 하니, 지우지 마시고 반드시 이름만 바꿔주세요 (rename)
교체필요 폴더 : apache -> apache_OLD, php -> php_OLD
4. 다운로드 XAMPP
각자의 운영체제, PHP 버전에 맞게 클릭하세요 (아래 그림은 윈도우)
![xampp download](https://ionicj.com/wp-content/uploads/2023/09/xampp_download.jpg)
![](https://ionicj.com/wp-content/uploads/2023/09/donwload_next2.jpg)
5. 압축해제후(ZIP) 폴더를 열어서 apache, php 폴더를
Ctrl + C, Ctrl + V
압축해제후, apache, php 폴더를 원래 설치된 xampp 위치에 복사를 하시면 끝~
6. 마치며
php_info() 를 호출하여 업데이트된 php 버전을 확인하시면 됩니다.
필자의 경우 업데이트후 php 8.x 에 해당되는 에러가 나왔습니다.
[필자가 파악한 에러내용]
- 함수 선언시 function f(a = false, b) 초기값을 먼저 선언하는 경우 에러가 발생합니다.
- 배열 접근시 a{i} 문법이 더이상 사용이 안됩니다. 첨자로 접근을 하셔야 합니다. a[i]
발생할때마다 여기에 기록을 남길게요
만약 서비스를 하시는 경우 급하게 되돌려야 할 경우,
apache_OLD -> apache
php_OLD -> php 로 다시 복구하시면 바로 적용됩니다.
php 8 문법 변경사항은 다 찾을 수 없으니 베타 버전으로 돌려보는것도 좋은 방법입니다.