Песец, как обычно, подкрался незаметно. Я легко обновил PHP на сервере до версии 5.4 и… конечно обнаружил, что функции session_register()
, session_unregister()
, session_is_registered()
не работают. Просто потому, что вообще больше их нет. Перелопачивать кучу старого кода и срочно его переписывать у меня не было никакого желания. Поэтому приделал костыль в начало каждого скрипта, который использует эти функции. Костыль взял в комментариях на сайте php.net, костыль оказался вполне полезным и рабочим. Во всяком случае все мои скрипты работают, хотя и валят в лог предупреждения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function fix_session_register(){ function session_register(){ $args = func_get_args(); foreach ($args as $key){ $_SESSION[$key]=$GLOBALS[$key]; } } function session_is_registered($key){ return isset($_SESSION[$key]); } function session_unregister($key){ unset($_SESSION[$key]); } } if (!function_exists('session_register')) fix_session_register(); |