본문 바로가기

Programming Languge/PHP

PHP 5.3, 5.4 변경사항

1. 개요

PHP 5.2버전에서 5.3버전으로, 5.3버전에서 5.4버전으로 업그레이드 시 확인해야될 사항이 있다. 5.2버전에서 무리없이 사용하던 일부 함수들이 5.3버전에서는 사용할 수 없게 되었다. 마찬가지로 5.3버전에서 5.4버전에서도 일부 함수가 사용할 수 없게 되었다. 본 포스터는 5.3버전과 5.4 버전에서 사용할 수 없게 되는 함수들과 그 함수를 대체할 수 있는 함수를 정리하였다.

 

2. PHP 5.3버전에서 달라진 점

Deprecated된 Functions

POASIX PCRE 설명
ereg_replace() preg_replace() 정규식 바꾸기
ereg() preg_match() 정규식 일치
eregi_replace() preg_replace() 대소 문자를 구분하지 않는 정규식 바꾸기
eregi() preg_match() 대소 문자를 구분하지 않는 정규식 일치
split() preg_split() 정규식을 사용하여 문자열을 배열로 분할
spliti() preg_split() 대소 문자를 구분하지 않는 정규 표현식으로 문자열을 배열로 분할
mysql_db_query() mysql_select_db(),  mysql_query() 데이터베이스를 선택하고 쿼리를 실행
sql_regcase() preg_match(), preg_quote() 대소 문자를 구분하지 않는 일치를 위한 정규식 만들기

 

② Deprecated된 php.ini 지시자 리스트

해당 지시자들을 사용하면 E_DEPRECATED 에러를 발생시킴

- define_syslog_variables

- register_globals

- register_long_arrays

- safe_mode

- magic_quotes_gpc

- magic_quotes_runtime

- magic_quotes_sybase

- Comments starting with '#' are now deprecated in .INI files.

 

3. PHP 5.4버전에서 달라진 점

 Deprecated된 Functions

POASIX PCRE 설명
preg_replace() preg_replace_callback() 정규식 검색을 수행하고 콜백을 사용하여 교체

preg_replace("/\s+/", " ", "How are doing?");

preg_replace_callback(
    '/\s+/',
    function ($matches) {
        return $matches[1];
    },
    "How are doing?"
);
로 변경하여 사용

② Deprecated된 php.ini 지시자 리스트

- register_globals

- register_long_arrays

- safe_mode

- short_open_tags 와 관계없이 무조건 <? 태그 지원

- default_charset 의 기본값이 utf-8 로 변경됨

 

4. 참고 사이트

sqlplus.tistory.com/entry/php-53-%EB%B3%80%EA%B2%BD%EC%82%AC%ED%95%AD-pregreplace-pregreplacecallback

 

php 5.3 변경사항 preg_replace , preg_replace_callback

PHP 5.3. 부터 POSIX Regex 함수( ereg_replace, ereg, eregi_replace, eregi, split, spliti, sql_regcase ) 들이 중요도가 떨어져서 더이상 사용하지 않게될 함수로 되었습니다. (This function has been DEPR..

sqlplus.tistory.com

wiki.kldp.org/wiki.php/PHP52ToPHP53?action=show

 

KLDPWiki: Migrating from PHP 5.2.x to PHP 5.3.x

2. What has changed in PHP 5.3.x ¶ PHP 5.3.x 의 대부분의 개선사항은 기존에 존재하는 코드에는 아무 영향을 주지 않는다. 몇개의 호환성 문제와 새로운 특징들이 있으므로, 실 서비스환경에서의 PHP 버젼

wiki.kldp.org

www.php.net/

 

PHP: Hypertext Preprocessor

The PHP team is pleased to announce the seventh testing release of PHP 8.0.0, Beta 4. This point in the release cycle would normally be RC1, however we're still finalizing development of the JIT and squaring away named arguments, so we've opted for an extr

www.php.net

blog.naver.com/yd1988/80155539227

 

[PHP5] PHP 5.4.0 에서 사라진 함수들 및 기타

PHP 5.4.0 부터 일부 밀접한 옵션 및 함수들이 삭제되었습니다. PHP 5.3 버전때부터 예고되었다고는 ...

blog.naver.com