Моя миграция на PHP 5.3.x

It’s the little differences. A lotta the same shit we got here, they got there, but there they’re a little different.
Pulp Fiction

Попробую подвести итоги, сколько я заловил подводных камней при тупом переносе без существенных модификаций кода. Т.е. речь не пойдет о том, что «А давайте все перепишем нахуй, чтоб по-модному было!». Нет, передо мной стояла цель — просто переехать (300+ хостов, работающих на системах от «Штоэта, бля?!» до «Нихуясебе!»), чтобы ничего не наебнулось и продолжило работать, будто ничего не произошло.

Итак, приготовьтесь, теперь есть такой тип ошибок (т.е. он и раньше был, только его нужно было включать) — E_DEPRECATED, так, например, они начинают ругаться на все вот такие конструкции:

$huy =& new Huy(30, ‘cm’);

Оно и понятно, в пятерке с самого начала эта конструкция не имела смысла.
Так вот, пока не переползли на шестерку, отключаем эти ошибки к черту.

error_reporting(E_ALL & ~E_DEPRECATED);

Ещё сюрприз: если в 5.2.x ругань на функции даты и времени без установки дефолтной timezone вылетали в E_STRICT, теперь они вылетают всегда, и, если возможности подрихтовать php.ini нет, можно попробовать воткнуть в .htaccess соответствующее php_value — date.timezone или применять на старте скрипта date_default_timezone_set().

date_default_timezone_set(‘Asia/Novosibirsk’);

Если вы решили заскочить минуя 5.2.x, проверьте всё на присутствие в коде например такого класса — DateTime, Он предопределен.

Ещё один интересный момент, если кто-то использовал Mimetype Functions, забудьте о них, или соберите из PECL, теперь правильно использовать Fileinfo Functions, они наоборот переехали из PECL в разряд нативно-поддерживаемых.

Ах да, теперь не надо принудительно выключать сраные register_globals и magic_quotes_gpc. Ну а если скрипты набиты короткими открывающими тегами, а вылавливать их западло, short_open_tag придется включать принудительно.

Вкратце, для «Просто переехать», кажется всё основное, на что стоит обратить внимание, упомянул.

Ну и официальный ман читаем, ага (:
Допускаю, что что-то упустил, дополнения приветствуются.

P.S. Четверко-ориентированные Битриксы дохнут как мухи, так что оплачивайте лицензию вовремя и обновляйтесь перед переездом (:

Метки: ,

blog comments powered by Disqus