Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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
Java 如果我用url.openStream打开url,$\u会话为什么会重置?_Java_Php_Session_Session Variables - Fatal编程技术网

Java 如果我用url.openStream打开url,$\u会话为什么会重置?

Java 如果我用url.openStream打开url,$\u会话为什么会重置?,java,php,session,session-variables,Java,Php,Session,Session Variables,我使用以下代码从URL读取内容: public static String getPageContent(URL url) throws IOException { InputStream in = url.openStream(); StringBuffer sb = new StringBuffer(); byte[] buffer = new byte[256]; while (true) { int byteRead = in.read(buff

我使用以下代码从URL读取内容:

public static String getPageContent(URL url) throws IOException {

   InputStream in = url.openStream();
   StringBuffer sb = new StringBuffer();

   byte[] buffer = new byte[256];

   while (true) {
      int byteRead = in.read(buffer);
      if (byteRead == -1) {
         break;
      }
      for (int i = 0; i < byteRead; i++) {
         sb.append((char) buffer[i]);
      }
   }
   return sb.toString();
}
My sessiontest.php包含:

<?php

session_start();
if (isset($_SESSION['asd'])) {
   echo "set";
   unset($_SESSION['asd']);
} else {
   echo "not set";
   $_SESSION["asd"]="asdasdajklhlòjkl";
}
?>

当设置了
$\u SESSION['asd']
时,此代码打印出
设置
,如果未设置,则打印出
未设置

当多次调用我的URL时,它应该第一次输出“未设置”,第二次输出“设置”,第三次输出“未设置”,等等

问题是,我的代码在同一个页面上调用了两次,我总是收到sessiontest.php的“not set”作为输出,而如果我从任何浏览器访问我的页面两次,我会看到“not set”,然后是“set”


php似乎把我所有的连接都当作不同的会话来处理,为什么

打印session_id()的值,查看生成的id在所有请求中是否相同。一次会议应该是相同的。出于某种原因,如果不相同,请检查存储会话的目录上的权限。您还可以尝试使用session_id($id)手动设置该值

<?php

session_start();
if (isset($_SESSION['asd'])) {
   echo "set";
   unset($_SESSION['asd']);
} else {
   echo "not set";
   $_SESSION["asd"]="asdasdajklhlòjkl";
}
?>