PHP session_start错误(找不到此类文件或目录)

时间:2015-12-01 17:03:55

标签: php session cookies login xampp

我对PHP很新,我正在尝试创建一个登录系统,其中用户名通过会话存储在PHP cookie中。所以通过视频教程我了解到我使用了session_start();如果条件满足,则启动cookie会话然后设置变量。我正在使用XAMPP来测试我的PHP,所以当我加载页面时,我收到了这个错误:

  

警告:session_start()[function.session-start]:open(Desktop \ xampp \ tmp \ sess_5bre7v153kb1hoftovugl77o52,O_RDWR)失败:C:\ Users ------中没有这样的文件或目录(2)第2行的Desktop \ xampp \ htdocs [文件夹] \ checkLogin.php

     

警告:session_start()[function.session-start]:无法发送会话cookie - 已经发送的标头(输出从C:\ Users ---- \ Desktop \ xampp \ htdocs [文件夹] \ checkLogin.php开始:2)在第2行的C:\ Users ---- \ Desktop \ xampp \ htdocs [folder] \ checkLogin.php

     

警告:session_start()[function.session-start]:无法发送会话缓存限制器 - 已发送的标头(输出从C:\ Users ---- \ Desktop \ xampp \ htdocs [Folder] \ checkLogin.php开始:2)在第2行的C:\ Users ---- \ Desktop \ xampp \ htdocs [Folder] \ checkLogin.php

     

警告:无法修改标头信息 - 已在C:\ Users ---中发送的标头(在C:\ Users ---- \ Desktop \ xampp \ htdocs [Folder] \ checkLogin.php:2处开始输出) - 第19行的\ Desktop \ xampp \ htdocs [Folder] \ checkLogin.php

     

警告:未知:打开(---- \ Desktop \ xampp \ tmp \ sess_5bre7v153kb1hoftovugl77o52,O_RDWR)失败:第0行的“未知”中没有此类文件或目录(2)

     

警告:未知:无法写入会话数据(文件)。请确认第0行的“未知”中session.save_path的当前设置是否正确(---- \ Desktop \ xampp \ tmp)**

我的XAMPP文件中有一个临时文件夹,它指定不删除此文件夹,因为它必须存在才能让PHP创建会话。 这是我的PHP代码:

    <?php
session_start ();
if (isset($_POST["submit"])) {
  $username = $_POST["username"];
  $password = $_POST["password"];
  $check = false;
  $information = fopen("user_information.txt", "r");
  while (!feof($information)) {
    $content = explode(":", rtrim(fgets($information, 1024)));
    if ($username == $content[0] && ($password) == $content[1]) {
         $check = true;
         break;
    }
  }
  fclose($information);

  if ($check) {
     define('BASE_URL', 'index.php');
     header('Location: ' . BASE_URL);
     $SESSION["username"] = $username;
    }
  else {
     define('BASE_URL', 'login.php');
     header('Location: ' . BASE_URL);
  }
    }
?>

谢谢

1 个答案:

答案 0 :(得分:4)

这是配置错误。

检查php.ini文件中的以下行:

session.save_path = "/tmp"

或者在PHP脚本中:

session_save_path('/home/example.com/sessions');

该行告诉PHP将保存会话文件。

运行服务器的系统用户需要对此文件夹具有写权限。