본문 바로가기
PHP

PHP 5.2.x → PHP 5.3.x로 이행시 주의할 사항

by 씨엔아이소프트 2017. 3. 27.
반응형

PHP 5.2.x → PHP 5.3.x로 이행시 주의할 사항

출처 http://neojjang.egloos.com/1954234

현재 개발을 LAMP환경에서 하고 있습니다. 
옆자리 친구가 제 개발 환경에선 오류가 없는데 자신의  개발 환경에서 오류가 난다고 해서 찾아 보다가 PHP 버젼이 5.3.x로 업그레이드 되면서 주의 해야할 사항을 알았습니다. 

아래 사이트를 방문 하시면 자세한 내용을 확인 하실 수 있습니다.

http://www.php.net/manual/en/migration53.deprecated.php

먼저 E_DEPRECATED  E_USER_DEPRECATED 가 새롭게 오류 레벨에 추가 되었습니다.

INI 지시자 중에서 유효로 설정하지 말아야 할 것들이 있답니다. magic_*관련한 건 사용하는 경우도 있는데, 조심해야 겠습니다.

* define_syslog_variables
* register_globals
* register_long_arrays
* safe_mode
* magic_quotes_gpc
* magic_quotes_runtime
* magic_quotes_sybase

위의 것 중에 하나라도 유효로 설정되면 "E_DEPRECATED" 오류가 난다고 합니다.

다음으로 함수들 중에서 사용하면 안되는 것들이 있습니다. 일부는 사용해 본 적이 없는 것도 있지만, 자주 사용하던 것도 바꿔야 한다니 좀 귀찮은 작업이 많아 지겠습니다. 

* call_user_method() -> call_user_func() 사용
* call_user_method_array() -> call_user_func_array() 사용
* ereg() -> preg_match() 사용
* ereg_replace() -> preg_replace() 사용
* eregi() -> preg_match() 함수에 'i' 옵션을 사용
* eregi_replace() -> preg_replace()함수에 'i' 옵션을 사용
* split() -> preg_split() 사용
* spliti() -> preg_split() 함수에 'i' 옵션을 사용
* mysql_db_query() -> mysql_select_db() 또는 mysql_query() 사용
* mysql_escape_string() -> mysql_real_escape_string() 사용

이 외에도 몇가지 더 주의할 사항이 있으니 php.net사이트를 참고 하세요.

함수 내부적으로 대체 함수가 실행 되도록 해 주면 편하지 않았을까 하고 생각해 봅니다만...
공식 개발팀에서 저렇게 했다고 하니 따라야 겠지요.

향후 PHP버젼을 업그레이드를 생각하시는 분들은 주의 하세요. 


반응형

'PHP' 카테고리의 다른 글

PHP http -> https 로 전환  (0) 2017.08.10
PHP - 공공 DATA XML 파싱(PHP 버전)  (0) 2017.05.24
php www 붙이기  (0) 2017.03.28
PHP and ASP Dynamically presents collections of mp3s as streaming web sites.  (0) 2017.03.22
PHP 한글 매뉴얼  (0) 2017.01.20

댓글