【问题标题】:phpMyAdmin error: Cannot start session without errors if httponly/secure cookies are enabledphpMyAdmin 错误:如果启用了 httponly/secure cookie,则无法在没有错误的情况下启动会话
【发布时间】:2015-01-09 04:53:49
【问题描述】:

我刚刚将最新 Debian wheezy 上的 LAMP 服务器上的 phpmyadmin 更新到最新版本,现在当我尝试使用 cookie auth 方法登录时出现以下错误:

phpMyAdmin - Error
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.

使用身份验证方法http 登录可以正常工作。目前这两种情况都禁用了 SSL。用谷歌搜索这个问题两天没有帮助。关于缺少对 cookie 保存路径的访问权限的最常提及的问题不适用于此处。 Cookie 被写入/var/lib/php5,因此所有权限似乎都在那里。手动将它们设置为chmod 777 www-data:www-data 也不起作用。

当我无法登录时,不会将任何错误记录到 apache 或 php 日志文件中。正在记录其他错误(我创建了一个语法错误的 test.php),因此日志记录本身可以工作。

EDIT2:我发现了一些东西: 问题在于安全/安全的cookies。禁用

Header set Set-Cookie HttpOnly;Secure

解决问题。但是禁用它并不是一个好的解决方案。我的/etc/php5/apache2/php.ini/etc/php5/cli/php.ini 文件都包含这些行

session.cookie_httponly = true
session.cookie_secure = true

php -i |grep cookie 表明这两个选项都已启用。

EDIT3:哦。 问题是我启用了 cookie 标志 secure(=cookie 只能通过安全连接发送)但禁用了 SSL。所以无法发送任何 cookie...

【问题讨论】:

  • 看起来你有一个解决方案。您应该将其发布为答案并自己接受

标签: php phpmyadmin apache2 debian httponly


【解决方案1】:

发生这种情况是因为 phpmyadmin 无法在 php 配置中定义为 session.save_path 的文件夹中写入。

要解决此问题,请执行以下操作:

  • 执行php -i | grep session.save_path 以查找用于会话的文件夹。就我而言,我的输出是:session.save_path => /var/lib/php/session => /var/lib/php/session
  • 确保session.save_path 中定义的文件夹存在。就我而言,我做了mkdir -p /var/lib/php/session

  • 确保文件夹可被 apache 写入。就我而言,我做到了:

    • sudo setfacl -R -m u:www-data:rwX /var/lib/php/session
    • sudo setfacl -dR -m u:www-data:rwX /var/lib/php/session
    • 如果setfacl 不可用,请执行sudo chown -R www-data /var/lib/php/session

【讨论】:

    【解决方案2】:

    经过一天的测试,我似乎找到了答案:

    问题是我启用了 cookie 标志“安全”(=cookie 只能通过安全连接发送)但禁用了 SSL。因此无法发送任何 cookie,并且 phpmyadmin (pma) 会中断。

    禁用安全标志也解决了启用 ssl 的问题。

    这也解决了另一个问题: pma 的设置脚本(通常可在 yourdomain/phpmyadmin/setup/ 访问)没有按预期工作:界面本身出现了,但无法添加服务器或保存手动更改的配置或下载/上传任何文件。

    【讨论】:

      猜你喜欢
      • 2013-10-17
      • 2011-06-28
      • 2015-04-19
      • 2019-10-07
      • 2014-10-25
      • 2012-02-10
      • 1970-01-01
      • 2016-08-31
      相关资源
      最近更新 更多