Maison >développement back-end >tutoriel php >Explication détaillée de la solution à l'écran blanc d'erreur 500 dans le backend des versions PHP5.3, 5.4 et supérieures que DedeCMS ne prend pas en charge

Explication détaillée de la solution à l'écran blanc d'erreur 500 dans le backend des versions PHP5.3, 5.4 et supérieures que DedeCMS ne prend pas en charge

黄舟
黄舟original
2017-03-31 09:57:552618parcourir

Cet article présente principalement la solution à l'écran blanc d'erreur 500 en arrière-plan de DedeCMS qui ne prend pas en charge les versions PHP5.3, 5.4 et supérieures. Les amis dans le besoin peuvent se référer à l'adresse de téléchargement de

Modèle dedecms : www.php.cn/xiazai/code/dedecms

Aujourd'hui, j'ai changé le système vers Windows Server 2008 r2 et en même temps mis à niveau l'environnement PHP vers la version PHP5.5. Il n'y a eu aucun problème lors du test de PHPinfo, mais lors de la connexion, Dede affiche une erreur 500 en arrière-plan. Comment résoudre ce problème ? Baidu a découvert que dede ne prend pas en charge PHP5.3, PHP5.4 et supérieur. La raison principale est que la version php5.4 a supprimé la fonction

session_register peut. être utilisé Par exemple, $_SESSION[$this->keepUserIDTag] = $this->userID;

Le code complet est traité de cette manière comme suit

Ouvrez d'abord le include/userlogin.class Fichier .php, à la ligne 287 Le contenu original à la ligne 308 est le suivant :

Le code est le suivant :

@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; 
Put
Cookie
(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’); 
PutCookie(‘DedeLogin
Time
’, time(), 3600 * 24, ‘/’);
est remplacé par

Le code est comme suit :

if
(empty($adminstyle)) $adminstyle = ‘dedecms’; 
//@session_register($this->keepUserIDTag); 
$_SESSION[$this->keepUserIDTag] = $this->keepUserIDTag; 
$_SESSION[$this->keepUserIDTag] = $this->userID; 
//@session_register($this->keepUserTypeTag); 
$_SESSION[$this->keepUserTypeTag] = $this->keepUserTypeTag; 
$_SESSION[$this->keepUserTypeTag] = $this->userType; 
// @session_register($this->keepUserChannelTag); 
$_SESSION[$this->keepUserChannelTag] = $this->keepUserChannelTag; 
$_SESSION[$this->keepUserChannelTag] = $this->userChannel; 
//@session_register($this->keepUserNameTag); 
$_SESSION[$this->keepUserNameTag] = $this->keepUserNameTag; 
$_SESSION[$this->keepUserNameTag] = $this->userName; 
//@session_register($this->keepUserPurviewTag); 
$_SESSION[$this->keepUserPurviewTag] = $this->keepUserPurviewTag; 
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview; 
// @session_register($this->keepAdminStyleTag); 
$_SESSION[$this->keepAdminStyleTag] = $this->keepAdminStyleTag; 
$_SESSION[$this->keepAdminStyleTag] = $adminstyle; 
PutCookie(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’); 
PutCookie(‘DedeLoginTime’, time(), 3600 * 24, ‘/’);


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn