Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么($_SESSION=[];)使服务器无法处理请求?_Php_Session - Fatal编程技术网

Php 为什么($_SESSION=[];)使服务器无法处理请求?

Php 为什么($_SESSION=[];)使服务器无法处理请求?,php,session,Php,Session,我正在尝试清除会话中的变量并开始一个新的会话。通过阅读有关变量问题的内容,我认为我发现这是正确的答案: ( $_SESSION = [];) 但是当我将这一行添加到我的代码中,在PHP代码中的一行中,我得到一条消息“[服务器]当前无法处理此请求”,指示“HTTP错误500” 如果没有这个命令,页面就可以正常工作(除了变量的行为不符合我的要求)。但是每次我激活那条线,我都会得到错误。如何在不激怒服务器的情况下清除变量 更新:我也尝试了session_destroy(),但效果相同。这里有更多的上

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

( $_SESSION = [];)
但是当我将这一行添加到我的代码中,在PHP代码中的一行中,我得到一条消息“[服务器]当前无法处理此请求”,指示“HTTP错误500”

如果没有这个命令,页面就可以正常工作(除了变量的行为不符合我的要求)。但是每次我激活那条线,我都会得到错误。如何在不激怒服务器的情况下清除变量

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

<?php 
session_destroy();

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

如果我注释掉session_destroy()行,页面将顺利加载。但是有了这一行,我就得到了错误


其他人的最后更新:我已经标记了正确的答案。我需要先启动新会话,然后才能取消设置上一个会话的变量。

在会话启动()之前不应使用会话销毁()。试试这个:

session_start();
会话设置cookie参数(3600,“/”;

会话_destroy()

要删除所有会话变量,请使用:

session_unset(); 
如果您在销毁会话后遇到问题,则代码可能试图访问尚未设置的会话变量。我喜欢使用
isset()
乙二醇


共享精确代码?这在语法上是不正确的。PHP会话可以通过
session\u destroy()
销毁。我想我已经读到session\u destroy()现在不推荐了。仍然可以吗?但是无论如何,session_destroy()选项也会产生同样的问题。我已经更新并扩展了上面的代码;在session_destroy()行上。无论如何,它会产生PHP警告:session_destroy():尝试在我尝试过的几个服务器上销毁未初始化的会话,而不是HTTP 500。底线。可能是其他原因造成的(除非是缺少的分号)。
$myVar = "";
if (isset($_SESSION('MyVar')) $MyVar = $_SESSION('MyVar');