작은숲:위키노트/PHP 5.5

큰숲백과, 나무를 보지 말고 큰 숲을 보라.
(PHP 5.5에서 넘어옴)

PHP 5.4와 5.5는 겉으로 보기에는 큰 차이는 없다. 내부적인 성능 향상은 꽤 있지만 기존 코드에는 큰 영향은 없다고 한다. 다만 몇 가지 하위 호환성이 없는 변화가 있고 새로 추가되는 사항들도 있다. 이는 꼭 확인하고 업그레이드를 해야 한다. PHP 5.5의 가장 큰 변화는 OPcache 모듈을 기본으로 내장하고 있다는 것이다. PHP 5.4 버전까지는 Zend optimizerAPC, XCache 등을 통해 구현했던 것을 이제는 내장 모듈을 통해 사용할 수 있게 되었다. 덕분에 성능이 꽤 많이 좋아졌다. APC 등의 외장 캐시 모듈을 사용하지 않을 때와는 비교할 수 없을 정도로 좋아졌고, 외장 캐시 모듈을 사용할 때와 비교해도 더 나은 성능을 보여준다. 아직 PHP 5.4를 쓰고 있다면 가능하면 업그레이드를 하는 것이 좋다.

  1. 하위 호환성이 없는 변화
    1. 윈도우 XP 및 2003의 지원 종료
    2. 로케일에 의존하지 않는 대소문자 구별
    3. pack() 함수와 unpack() 함수의 변경
    4. self, parent, static 키워드가 대소문자를 구별하지 않음
    5. PHP 로고 GUID 삭제
    6. 내부 실행 방법 변화
  2. 추가된 기능
    1. 발생기(generator) 추가
    2. finally 키워드의 추가
    3. 새로운 비밀번호 해싱 API
    4. foreach 구문에서 list() 함수 지원
    5. empty() 함수에 임의의 표현식 사용 가능
    6. 배열과 문자열에서 역참조 가능
    7. ::class 으로 클래스 이름 확인
    8. OPcache 확장 기능 추가
    9. foreach 구문에서 스칼라 값이 아닌 키(non-scalar keys)에 대응 가능
    10. 윈도우에서 아파치 2.4 핸들러 지원
    11. GD 성능 향상
  3. 폐기 예정인 기능
    1. mysql 확장 기능
    2. preg_replace() 함수에서 /e 변경자
    3. Intl
    4. Mcrypt
  4. 변경된 함수
    1. PHP 코어
    2. Intl
  5. 추가된 함수
    1. PHP 코어
    2. Hash
    3. OpenSSL
    4. cURL
    5. GD
    6. MySQLi
    7. PostgreSQL
    8. Sockets
    9. CLI
    10. Intl
    11. SPL
  6. 추가된 클래스와 인터페이스
    1. cURL
    2. 날짜와 시간
    3. Intl
  7. 추가된 메소드
    1. MySQLi
    2. Intl
  8. 다른 확장 기능에서 변경된 점
    1. Intl
  9. 추가된 전역 상수
    1. GD
    2. JSON
    3. MySQLi
  10. 변경된 INI 파일의 설정
    1. Intl
    2. MySQLnd
  11. 변경된 PHP 내부 기능

참고

이 작은숲 문서의 출처는 위키노트의 위키노트/PHP 5.5 문서입니다.