新聞中心
dedecms在php5.4環(huán)境下登錄后臺(tái)或者退出后臺(tái)報(bào)錯(cuò)或者顯示頁(yè)面找不到的問(wèn)題解決
目前好多的空間商都針對(duì)于php版本進(jìn)行升級(jí)了,目前無(wú)憂主機(jī)的php空間的php版本有5.2、5.3、5.4 、5.6、7.0 ,那么dedecms源碼程序可以在5.2和5.3完美的運(yùn)行幾乎是沒有出現(xiàn)啥問(wèn)題,而今天無(wú)憂主機(jī)在接待售后的時(shí)候發(fā)現(xiàn)一位站長(zhǎng)朋友找到我們,說(shuō)是登錄后臺(tái)上不去,于是乎截圖給無(wú)憂主機(jī)小編查看,如圖1所示: 從該圖中可以查看這個(gè)并不是頁(yè)面找不到的問(wèn)題,而是500問(wèn)題的錯(cuò)誤,那么出現(xiàn)這樣的錯(cuò)誤只有兩種可能性,一個(gè)是文件的權(quán)限問(wèn)題,但是文件的權(quán)限問(wèn)題不會(huì)出現(xiàn)這樣的提示的,還有一個(gè)就是配置的問(wèn)題。那么這位朋友的這個(gè)站點(diǎn)之前是可以完美的運(yùn)行的,所以出現(xiàn)這樣的問(wèn)題肯定是程序的方面的問(wèn)題。 于是無(wú)憂主機(jī)小編就百度了一下,確實(shí)出現(xiàn)這樣的問(wèn)題還真的不少,有的是白屏,有的是無(wú)法運(yùn)行,總之就是在登錄后臺(tái)這里出現(xiàn)的問(wèn)題,經(jīng)過(guò)相關(guān)的資料發(fā)現(xiàn):session_register()和session_unregister()函數(shù)已經(jīng)在php5.4版本中被廢棄了,所以就會(huì)出現(xiàn)以上問(wèn)題的情況,找到問(wèn)題我們就好辦了。 首先是進(jìn)入到的我們的會(huì)員中心--主機(jī)管理--控制面板--文件管理。 然后進(jìn)入到根目錄找到include/userlogin.class.php,如圖2所示: 找到之后點(diǎn)擊編輯,查找如下代碼:
@session_register($this->keepUserIDTag); $_SESSION[$this->keepUserIDTag] = $this->userID; @session_register($this->keepUserTypeTag); $_SESSION[$this->keepUserTypeTag] = $this->userType; @session_register($this->keepUserChannelTag); $_SESSION[$this->keepUserChannelTag] = $this->userChannel; @session_register($this->keepUserNameTag); $_SESSION[$this->keepUserNameTag] = $this->userName; @session_register($this->keepUserPurviewTag); $_SESSION[$this->keepUserPurviewTag] = $this->userPurview; @session_register($this->keepAdminStyleTag); $_SESSION[$this->keepAdminStyleTag] = $adminstyle; PutCookie('DedeUserID', $this->userID, 3600 * 24, '/'); PutCookie('DedeLoginTime', time(), 3600 * 24, '/');如圖3所示: 將這些代碼中的session_register函數(shù)給刪除掉即可或者使用//進(jìn)行注釋。 如圖4所示: 這兩個(gè)的意思就是把session_register函數(shù)給刪除掉,因?yàn)樵趐hp5.4版本中使用$_SESSION[]賦值即可搞定,并且這樣一目了然.獲取和賦值都很方便易懂。 這樣操作之后就會(huì)正常的進(jìn)入到后臺(tái)去操作,發(fā)現(xiàn)都是可以正常的操作的,但是唯一的一個(gè)問(wèn)題就是當(dāng)我們操作完畢之后點(diǎn)擊注銷,然后又出現(xiàn)這樣的操作了,那么既然之前已經(jīng)說(shuō)過(guò)了session_unregister()函數(shù)這個(gè)的意思就是銷毀變量的,而在php5.4中不能使用,那么我們只能把這個(gè)函數(shù)修改為unset進(jìn)行銷毀變量,那么這個(gè)時(shí)候就需要在include/userlogin.class.php文件中,找到如下代碼:
@session_unregister($this->keepUserIDTag); @session_unregister($this->keepUserTypeTag); @session_unregister($this->keepUserChannelTag); @session_unregister($this->keepUserNameTag); @session_unregister($this->keepUserPurviewTag);如圖5所示: 替換為:
unset($this->keepUserIDTa); unset($this->keepUserTypeTag); unset($this->keepUserChannelTa); unset($this->keepUserNameTag); unset($this->keepUserPurviewTag);如圖6所示: 點(diǎn)擊提交保存之后,刷新果斷的正常了。
本文地址:http://m.love62.cn/dedecms/25296.html