首页 > 解决方案 > 为什么 ($_SESSION = [];) 使服务器无法处理请求?

问题描述

我正在尝试从会话中清除变量并开始一个新的。通过阅读有关变量问题的信息,我想我发现这是正确的答案:

( $_SESSION = [];)

但是当我将该行添加到我的代码中时,在 PHP 代码中的一行中,我收到一条消息“[服务器]当前无法处理此请求”,指示“HTTP ERROR 500”。

如果没有那个命令,页面就可以正常工作(除了变量的行为不像我想要的那样)。但是每次我激活那条线时,我都会收到错误消息。如何在不使服务器生气的情况下清除变量?

更新:我也尝试过 session_destroy(),但效果相同。这里有更多的上下文:

<?php 
session_destroy();

session_set_cookie_params(3600,"/");
session_start();
?>

如果我注释掉 session_destroy() 行,页面加载没有问题。但是有了那条线,我得到了错误。

有此问题的其他人的最终更新:我已标记正确答案。我需要在取消上一个变量的设置之前启动新会话。

标签: phpsession

解决方案


你不应该在 session_start() 之前使用 session_destroy()。尝试这个:

session_start(); session_set_cookie_params(3600,"/"); session_destroy();


推荐阅读