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() [function.session-start]:无法发送会话 cookie 错误
cacti PHP 少见错误 PHP Warning: session_start(): open(/var/lib/php/session/
tp框架上出现警告session_start() open failed Permission denied (13)错误