탑메뉴 바로가기 본문 바로가기
브이디자인 비쥬얼

브이디자인

전북 전주 홈페이지제작 회사

웹프레임워크 PHP7 -> PHP8 마이그레이션, 버전업 완료!

작성자: 브이디자인    작성일: 2025-06-03   조회수: 44   

브이디자인 홈페이지 제작 웹프레임워크 사이트웨어의 PHP7버전이 PHP8버전으로 마이그레이션되었습니다.

PHP8로 버전업의 효과는 더 빠른 속도와 성능 향상, 코드 가독성 및 유지보수성 향상, 그리고 더욱 강력한 타입 안전성을 얻을 수 있습니다.

 

2025년 6월 작업부터 적용됩니다. 


이번 작업은 브이디자인에서 제작되는 모든 홈페이지에 자동연장되는 무료 기본 보안인증서 Let’s Encrypt을 적용하기 위함이기도 합니다.

무료 보안인증서는 타 호스팅업체의 경우 PHP버전에 상관없이 제공되기도 하지만..

(주)카페24 호스팅은 PHP8과 자사 구매 도메인에 한해 제공하고 있습니다.

카페24의 보안과 안정적인 호스팅 서비스를 이용하기 위함입니다.

 

또한 SECTIGO사의 유료 보안인증서를 이용할 수 있습니다. 규모에 따라 년단위 비용이 발생합니다.

감사합니다.

 

보안인증서 기대효과 HTTPS

- 개인정보보안 : 홈페이지에서 개인정보를 주고받는 구간을 반드시 https:// 프로토콜로 변경해야 합니다.

- 브라우저 [주의요함] 제거

- 홈페이지 신뢰도 상승

 

 

 

< 작업내용 >

작은따옴표 붙이기 $arr[string] ==> $arr['string'] : 정규식 활용 문자열 치환

while list each >> foreach 구문 사용

mktime() 단독사용 불가 인수 필요

sql문 수정 : $sql .= " and r_reply like '{$reply_array['r_reply']}%' ";

mariadb : enum date datetime 필드 post값이 없으면 에러, 지정형식의 데이터만 입력가능

count()함수에 null 입력 제거

SELECT b_file{($j+1)} FROM vd_board : sql문에 괄호 계산식 불가

GETIMAGESIZE() : 인수의 파일이 존재해야 함

PHP 8에서는 명확하게 null을 처리해야 함

등 기존 PHP7소스가 사용된 홈페이지를 구석구석 테스트하면서 접하는 에러를 해결하였습니다.

 

< 작업결과 >

체감적으로 속도가 많이 빨라진 느낌입니다.

그동안 다소 유연했던 코딩이 더욱 명확해졌습니다.

 

< 카페24 무료 보안인증서 SSL Basic 사용 가능 >

카페24 도메인과 PHP8 환경 웹호스팅을 사용할 경우 합리적 선택

 

SSL Basic

1개 도메인 라이선스

자동 연장

설치비 11,000원/1회

 

SSL Basic 상품은 Let's Encrypt 인증서의 발급과 설치, 그리고 호스팅 서비스 종료일까지의 자동 연장을 포함하는 관리 서비스입니다.

SSL Basic 상품 구매 시 인증서 발급기관(ISRG)의 Let’s Encrypt 이용 약관에 동의하는 것으로 간주합니다. 

10G 광아우토반 FullSSD+ 웹호스팅 PHP8 환경(자이언트플러스 사양 제외)에 신청할 수 있습니다.

웹호스팅에 연결된 도메인 중 카페24에서 구매한 도메인에 설치할 수 있습니다.

카페24로 네임서버 설정 및 A 레코드에 연결된 서버에 설치할 수 있습니다.

선택된 도메인으로 인증 및 발급이 진행되며, 발급 완료까지 1~2 영업일이 소요됩니다.

한글 도메인은 인증서 발급이 되지 않습니다.예) 한글.com

 

 

 

 

 

PHP8 장점

 

1. 성능 개선

JIT 컴파일 : PHP 8에는 특히 CPU 사용량이 많은 작업의 성능을 향상시킬 수 있는 JIT(Just-In-Time) 컴파일러가 포함되어 있습니다. 이를 통해 특히 복잡한 계산을 수행하거나 많은 처리량이 필요한 애플리케이션에서 스크립트 실행 속도가 향상될 수 있습니다.

JIT적용 후 성능이 약 30~40% 향상되었습니다.

 

2. 새로운 기능

유니온 타입 : PHP 8은 유니온 타입을 지원하여 함수 인수와 반환 타입이 여러 타입을 받을 수 있도록 합니다. 이를 통해 타입 안전성과 유연성이 향상됩니다.

생성자 속성 승격 : 이 기능은 클래스 속성의 선언과 생성자에서의 초기화를 간소화합니다.

 

4. 유형 시스템 개선

정적 반환 유형 : PHP 8에서는 정적 반환 유형을 선언하여 유형 안전성과 명확성을 개선했습니다.

약한 맵 : 이는 가비지 수집을 방해하지 않고 객체에 대한 참조를 저장할 수 있는 새로운 데이터 구조를 제공하며, 이를 통해 메모리를 보다 효과적으로 관리하는 데 도움이 될 수 있습니다.

 

5. 오류 처리 개선

일관된 타입 오류 : PHP 8은 오류 처리를 개선하여 일관성을 높였습니다. 이제 타입 오류에서 TypeError예외가 발생하여 디버깅이 더욱 명확해졌습니다.

 

6. 지원 중단 및 제거

PHP 8에서는 여러 오래된 기능의 지원을 중단하고 문제가 있다고 판단되는 일부 기능을 제거했습니다. 이를 통해 더 나은 코딩 방식과 깔끔한 ​​코드를 장려할 수 있습니다.

 

 

 

1. Named arguments

- 함수에 파라미터를 넘길 때 이름을 줄 수 있다.

 

2. Attributes

- 함수에 속성을 지정할 수 있다. 

 

3. Constructor property promotion

- 프로퍼티를 정의, 초기화할 때 보일러플레이트 코드를 줄일 수 있다. 

 

4. Union types

- 네이티브 유니온타입을 사용할 수 있다. (int | float 와 같이 사용할 수 있다)

 

5. Match expression

- 스위치(switch)문과 비슷하며 변수 저장, 리턴할 때 쓸 수 있고 좀 더 간단히 표현할 수 있으며 === 를 이용하여 비교한다.

 

6. Nullsafe operator

- 널체크를 하기 위해 if 문을 넣지 않고 ? 으로 체인으로 연결하여 사용할 수 있다.

 

7. Saner string to number comparisions

- 숫자로 구성된 문자열 비교시 숫자 비교를 하며, 그렇지 않으면 숫자를 문자로 바꿔서 문자 비교한다.

 

8. Consistent type errors for internal functions

- 내부 함수 대부분이 이제는 파라미터 입력이 잘못되었다면 에러 익셉션(예외)를 발생시킨다.

 

9. Just-In-Time(JIT) compilation

- 즉시 컴파일 : PHP코드를 머신코드로 변환하여 성능 향상

- CPU 집약적인 작업 최적화 : 수학 연산 및 반복 연산 처리 속도 개선

- 캐싱 : 반복적인 코드 실행 시 성능 개선

 

10. Type system and error handling improvements

 

11. Other syntax tweaks and improvements

 

12. New Classes, Interfaces, and Functions

 

 

PHP8 배포

https://www.php.net/releases/8.0/en.php

 

PHP 7.4.x 에서 PHP 8.0.x 마이그레이션 가이드

https://www.php.net/manual/en/migration80.php


..이 게시물을 블로그/카페로 소스 퍼가기 twitter로 보내기 facebook으로 보내기
이전글 고객 홈페이지 도메인주소 웹메일 - 아임웹 DNS설정, 카페24 웹메일 설정 완료! 2025-06-10
다음글 전주 홈페이지 유지보수 및 업데이트 완료! 2025-05-29



작성자 :
내용 댓글쓰기
None Data!
빠른상담

빠른상담신청

담당자 확인 후 바로 연락드립니다.

빠른상담신청