PHP session_start 错误(没有找到这样的文件或目录)

Posted

技术标签:

【中文标题】PHP session_start 错误(没有找到这样的文件或目录)【英文标题】:PHP session_start error (no such file or directory found) 【发布时间】:2016-03-05 16:48:13 【问题描述】:

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

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

警告:session_start() [function.session-start]:无法发送会话 cookie - 标头已由(输出开始于 C:\Users----\Desktop\xampp\htdocs[folder]\checkLogin.php :2) 在第 2 行的 C:\Users----\Desktop\xampp\htdocs[文件夹]\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----\Desktop\xampp\htdocs[Folder]\checkLogin.php:2)在 C:\Users--- -\Desktop\xampp\htdocs[文件夹]\checkLogin.php 在第 19 行

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

警告:未知:无法写入会话数据(文件)。请验证 session.save_path 的当前设置是否正确 (----\Desktop\xampp\tmp) 在 Unknown on line 0**

我的 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);
  
    
?>

谢谢

【问题讨论】:

如果您将 Apache 作为服务运行,它不太可能有权写入您的桌面。你应该把 Xampp 移到别处。 你检查过 Apache 对目录有写权限吗? 有什么办法可以做到吗?谢谢!附带说明一下,我无法访问任何需要管理员权限的内容... 【参考方案1】:

这是一个配置错误。

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

session.save_path = "/tmp"

或者在你的 PHP 脚本中:

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

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

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

【讨论】:

session.save_path = "/tmp/"

以上是关于PHP session_start 错误(没有找到这样的文件或目录)的主要内容,如果未能解决你的问题,请参考以下文章

关于PHP session_start出现的错误

php。 session_start() [function.session-start]:无法发送会话 cookie 错误

php session_start错误问题解决不了

cacti PHP 少见错误 PHP Warning: session_start(): open(/var/lib/php/session/

tp框架上出现警告session_start() open failed Permission denied (13)错误

session_start()上的PHP警告权限被拒绝(13)[重复]