我刚刚在我的LAMP服务器上更新了phpmyadmin,最新的Debian喘息一下到最新版本,现在当我尝试使用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:我找到了一些东西: 问题在于安全/安全的cookie。禁用
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:D'哦。
问题是我启用了cookie标记secure
(= cookie只能通过安全连接发送)但禁用了SSL。所以没有cookie可以发送......
答案 0 :(得分: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 chown -R www-data /var/lib/php/session
不可用,请setfacl
。答案 1 :(得分:0)
经过一天的测试后,似乎我找到了答案:
问题是我启用了Cookie标记" Secure" (= cookie只能通过安全连接发送)但禁用SSL。因此,不能发送任何cookie,并且phpmyadmin(pma)会中断。
禁用安全标志解决了启用ssl的问题。
这也解决了另一个问题:pma的设置脚本(通常在yourdomain / phpmyadmin / setup /上可以访问)没有按预期工作:界面本身出现但是无法添加服务器或保存手动更改的配置或下载/上传任何文件。