Ошибки при переходе при переходе с PHP 5.2.x на PHP 5.3.x

При переходе с PHP 5.2.x на PHP 5.3.x перестают работать некоторые функции, так php изживает и развивает себя. Но для разработчика начинается головная боль, особенно если используются CMS, написанные на PHP (например MODx), которые вдруг выдают ошибки.
Хотя это даже не ошибки, а предупреждения, что в дальнейшем, php не будет использовать некоторые функции или заменит их.

В php 5.3.x необходимо заменить:

ereg() — теперь используйте preg_match()
ereg_replace() — используйте preg_replace()
eregi() — используйте preg_match() с модификатором ‘i’
eregi_replace() — используйте preg_replace() с модификатором ‘i’
split() — используйте preg_split()
spliti() — используйте preg_split() с модификатором ‘i’
set_magic_quotes_runtime() и ее синоним magic_quotes_runtime()
session_register() — используйте суперглобальный массив $_SESSION
session_unregister() — используйте суперглобальный массив $_SESSION
session_is_registered() — используйте суперглобальный массив $_SESSION
set_socket_blocking() — используйте е stream_set_blocking()
mysql_db_query() — используйте mysql_select_db() и mysql_query()
mysql_escape_string() — используйте mysql_real_escape_string()

Переменные Depecated в PHP 5.3.x надо заменить соответственно:

HTTP_SERVER_VARS -> _SERVER
HTTP_POST_VARS -> _POST
HTTP_ENV_VARS -> _ENV
HTTP_GET_VARS -> _GET
HTTP_COOKIE_VARS -> _COOKIES
HTTP_SESSION_VARS -> _SESSION
HTTP_POST_FILES -> _FILES

Для разрушения сессии обязательно надо сделать unset всех переменных сессии ($_SESSION = array()):
session_start();
$_SESSION = array();
session_destroy();