【问题标题】:Cannot start session without errors in phpMyAdmin, session variables don't work无法在 phpMyAdmin 中无错误地启动会话,会话变量不起作用
【发布时间】:2014-10-25 08:45:59
【问题描述】:

首先,我从 2011 年开始查看 rciiipo 的 post。我的问题似乎没有通过提供的答案得到解决,我还有其他一些意见。

将浏览器指向 phpMyAdmin 时出现以下错误

Cannot start session without errors, please check errors given in 
your PHP and/or webserver log file and configure your PHP installation properly.
Also ensure that cookies are enabled in your browser.

1) 会话变量不适用于任何 php 文件。我不太确定这是否相关,但我相信一个问题会导致另一个问题。

当我刷新网页时,下面的代码应该会显示“泰迪熊”:

<?php
session_start();

$username = $_SESSION['username'];
if(isset($_SESSION['logged']) && $_SESSION['logged']=='yes') {
    echo "$username";
}   

$_SESSION['username']='Teddy';
$_SESSION['logged']='yes';
?>

我的 php.ini 文件:

session.save_path = "/var/lib/php5/session"

权限:

drwxr-xr-t  4 root www-data 4096 Sep  1 08:40 php5
  |
  -- drwxr-xr-x  2 root www-data 4096 Sep  1 08:40 session

我认为如果我只让 $_SESSION 变量在 php 中工作,问题就可以解决。

【问题讨论】:

  • 您对/var/lib/php5/session 的权限似乎有误,应该是drwxrwxr-tdr-xrwxr-t(假设www-data 是Web 服务器用户)。目录需要写权限才能保存会话数据。
  • 是的,这就是它所需要的。这是为什么呢?
  • PHP 将会话数据存储到 session.save_path 并且当 PHP 由 web 服务器执行时,它在 web 服务器的用户上运行。这就是 Web 服务器用户需要对该文件夹的写入权限的原因。

标签: php mysql phpmyadmin


【解决方案1】:

我同意bansi

看来您对 /var/lib/php5/session 的权限有误 应该是 drwxrwxr-t 或 dr-xrwxr-t (假设 www-data 是 web 服务器用户)。目录需要写权限才能保存 会话数据。

另外,您应该检查 /var/log/ 中的日志文件(也可能是 Apache)——它们可能会为您提供更多详细信息...

【讨论】:

    猜你喜欢
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2011-08-28
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多