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. 참고 사이트
wiki.kldp.org/wiki.php/PHP52ToPHP53?action=show
blog.naver.com/yd1988/80155539227