PHP

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

씨엔아이소프트 2017. 3. 27. 18:45
반응형

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버젼을 업그레이드를 생각하시는 분들은 주의 하세요. 


반응형