【PHP】PHP 버전을 업데이트해야 하는 이유

4553 단어 PHP

소개





프로젝트가 진행됨에 따라 PHP 버전 업데이트는 확실히 필요하다고 생각했지만 왜 버전 업그레이드가 필요한지 구체적으로 파악할 수 없었기 때문에 생각해 보았습니다.

목차



  • 공식 지원 기한
  • 성능 향상
  • 신문법에 대한 대응
  • 요약
  • 참고문헌


  • 공식 지원 마감 및 보안 취약점 PHP 버전 및 지원 마감일 목록 버전 첫 릴리스 최신 릴리스 최신 출시일 활성 지원 보안 지원 8.0 2020/11/26 8.0.9 2021/07/29 2022/11/26 2023/11/26 7.4 2019/11/28 7.4.22 2021/07/29 2021/11/28 2022/11/28 7.3 2018/12/06 7.3.29 2021/07/01 2020/12/06(종료) 2021/12/06 7.2 2017/11/30 7.2.34 2020/10/01 2019/11/30(종료) 2020/11/30(종료) 7.1 2016/12/01 7.1.33 2019/10/24 2018/12/01(종료) 2019/12/01(종료) 7.0 2015/12/03 7.0.33 2018/12/06 2017/12/03(종료) 2018/12/03(종료) 5.6 2014/08/28 5.6.40 2019/01/10 2017/01/19(종료) 2018/12/31(종료) 지원 마감 및 보안 지원 기한이 종료된 버전을 사용해도 갑자기 움직이지 않게 되는 것은 아닙니다. 그러나 지원이 종료되면 보안 지원이 사라지고 수정되지 않은 보안 취약점에 노출됩니다. 덧붙여서 2016년에는 PHP의 보안 취약성은 DoS, 코드 실행, 오버플로, 메모리 손상, XSS, 디렉토리 트래버설, 바이패스, 및 정보의 취득 등에 있어서 100건 이상도 보고되고 있었습니다. 1

    취약성을 알고 찾기



    PHP와 관련된 많은 취약점의 경우 CVE(Common Vulnerabilities and Exposures)라는 개별 취약점을 관리하기 위해 고유 식별 번호가 번호가 매겨집니다.
    이 CVE를 바탕으로 취약성 정보를 CVE Details 이나 일본어라면 JVN (Japan Vulnerability Notes) 로 정보를 얻을 수 있습니다.
    또한 FriendsOfPHP/security-advisories이라는 PHP 프로젝트 및 라이브러리의 취약성을 모니터링하는 라이브러리도 존재하는 것 같습니다.

    취약성 대책



    자신의 프로젝트에서 사용하고 있는 PHP 라이브러리와 그 버젼을 파악해 취약성을 감시하면서, 필요하면 보안 대응이 가능한 버젼으로 전환해 간다.

    성능 향상 PHP 버전별 벤치마크 아래 Laravel8.21.0 환경에서 버전 7.3, 7.4, 8.0이 검증된 데이터입니다. 테스트 내용은 1개의 URL에 동시 접속 유저수 15, 리퀘스트수 10,000로, 초당의 리퀘스트수가 많으면 많을수록 좋은 결과가 되는 것 같습니다. (실행 환경에 대해서는 참고문헌



    Laravel 8.21.0 PHP 7.3 벤치마크 결과: 574.67 req/sec
    Laravel 8.21.0 PHP 7.4 벤치마크 결과: 602.15 req/sec
    Laravel 8.21.0 PHP 8.0 벤치마크 결과: 623.78 req/sec🏆

    결과는 다음과 같습니다. PHP 7.3보다 PHP 8.0이 초당 8.54% 더 많은 요청을 실행하고 있습니다.

    기타 성능 향상 기능



    PHP7.4에서 구현된 Preloading , PHP8.0의 JIT 등과 같은 애플리케이션을 고속화시키는 기능도 버전 업으로 추가될 수 있다.

    신문법에 대한 대응 언어를 업데이트하면 새로운 코드를 작성하는 방법이 추가되어 편의성을 높이고 코드를 가볍게 만들 수 있습니다. 그러나, 신문법을 알고 있는 것과 모르는 것은 꽤 차이가 있어, 크게 나누어 이하의 3개의 문제가 있습니다. 코드 검토가 불가능합니다. 도서관 처리를 추적할 수 없게 됨 그물의 새로운 정보를 이해할 수 없다. 요약 이전 버전의 PHP에서도 응용 프로그램이 갑자기 움직이지 않는다는 것은 아니지만, 보안 지원이 종료되면 취약성 대책을 할 수 없다. 성능 개선 기회를 잃는다. 신문법의 설명을 알 수 없습니다. 참고문헌
  • PHP 출시일 및 지원 기한
  • PHP의 취약성과 마주하는 방법과 그 대책 방법
  • PHP 5.6, 7.0, 7.1, 7.2, 7.3, 7.4 또는 8.0 벤치마크(2021년)
  • 좋은 웹페이지 즐겨찾기