溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何理解session在php5.3中的變化 session_is_registered() is deprecated in

發(fā)布時間:2021-10-08 16:08:46 來源:億速云 閱讀:132 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“如何理解session在php5.3中的變化 session_is_registered() is deprecated in”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何理解session在php5.3中的變化 session_is_registered() is deprecated in”吧!

在php5.3中運(yùn)行書中代碼會有如下提示:
Function session_is_registered() is deprecated in
Function session_register() is deprecated in

意思是說這兩個函數(shù)是不贊成的,棄用的。

下面是php官方手冊上的代碼,注釋部分已經(jīng)說明了不贊成用session_register()

復(fù)制代碼 代碼如下:

<?php
// Use of session_register() is deprecated 不贊成用session_register()
$barney = "A big purple dinosaur.";
session_register("barney");

// Use of $_SESSION is preferred, as of PHP 4.1.0 首選 $_SESSION
$_SESSION["zim"] = "An invader from another planet.";

// The old way was to use $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>

并且有如下警告及提示:
Warning
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.
警告:這個函數(shù)在php5.3中已不推薦使用,在php5.4中已被移除。

Note:
If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use isset() to check a variable is registered in $_SESSION.
提示:如果 使用了$_SESSION,就用isset()函數(shù)來檢查。

Caution
If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().

php5.3 不支持 session_register() 此函數(shù)已刪除(解決辦法)

php從5.2.x升級到5.3.2.出來問題了。有些原來能用的程序報錯了。
報錯內(nèi)容是
Deprecated: Function session_register() is deprecated
查了一下是5.3這個session_register就不讓用了,降回去?不爽。
搜了一把,有個解決方法是寫一個函數(shù)
<?php
// Fix for removed Session functions
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();
?>

查了一下出現(xiàn)這個問題的地方不多,找到了另外一個方法,直接

session_register( “abc” ) ;
改成
$_SESSION['abc'] = null;
即可

感謝各位的閱讀,以上就是“如何理解session在php5.3中的變化 session_is_registered() is deprecated in”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何理解session在php5.3中的變化 session_is_registered() is deprecated in這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI