[PHP] PHP 5.4 的 session 寫法變革

前陣子把 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執行前先定義好:

Licensed under CC BY-NC-SA 3.0 TW
comments powered by Disqus