【发布时间】:2011-07-03 12:12:19
【问题描述】:
我在send.php 文件的最顶部有这个:
ob_start();
@session_start();
//some display stuff
$_SESSION['id'] = $id; //$id has a value
header('location: test.php');
在我的 test.php 文件的最顶部有以下内容:
ob_start();
@session_start();
error_reporting(E_ALL);
ini_set('display_errors', '1');
print_r($_SESSION);
当数据发送到test.php时,显示如下:
Array ( )警告:未知:open(/var/lib/php/session/sess_isu2r2bqudeosqvpoo8a67oj02, O_RDWR) 失败:第 0 行未知中的权限被拒绝 (13)
警告:未知:无法写入会话数据(文件)。请在第 0 行的 Unknown 中验证 session.save_path 的当前设置是否正确(/var/lib/php/session)
我只尝试过使用 session_start();但结果是一样的。
【问题讨论】:
-
我不确定这是否是您问题的确切解决方案。但是,由于您在处理
test.php之前没有显示任何内容,因此 IMO 您应该尝试使用 ob_end_flush();在send.php的末尾并删除 test.php 中的ob_start(); -
我目前想知道如果 PHP 确实输出了这样的错误消息,默认情况下包裹在
<script>alert("...")</script>中是否会有所帮助。 -
重启浏览器后这条消息消失了。
-
今天我遇到了同样的错误,我通过 Chrome 中的 reset setting to default 解决了。