前陣子把 PHP 升級到5.4後 發現有用到session的程式都爆了
Fatal error: Call to undefined function session_register()
google一下 原來是PHP 5.4的session寫法有改變 PHP 5.4 移除了 session_is_registered() 、 session_register() 與 session_unregister() 三支function。 Session 的操作更簡化了一些。
//判斷 Session 是否存在
if( isset($_SESSION[‘foo’]) ) {
echo ‘session is exist’;
}
//註冊 Session
$_SESSION[‘foo’] = ‘bar’;
//移除 Session
unset($_SESSION[‘foo’]);
這樣操作其實更直覺,也不需要額外多記函式(個人很健忘),這三支函式早該移除了。 但是大大小小的舊系統改起來也是不少麻煩 所以另一個做法就是把移除的function在script執行前先定義好: