无法在phpMyAdmin中启动会话而没有错误

时间:2011-02-16 06:17:49

标签: php session phpmyadmin

将浏览器指向phpMyAdmin

时出现以下错误
  

无法在没有错误的情况下启动会话,请检查PHP和/或Web服务器日志文件中给出的错误并正确配置PHP安装。

我已检查过所有内容,似乎无法弄清问题是什么。

在我的php.ini文件中,我有:

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

Permissions:

drwxr-xr-x  2 root apache 4096 Feb 16 04:47 session

似乎没什么用。甚至将会话目录的权限更改为777。

19 个答案:

答案 0 :(得分:78)

问题通常在于您的浏览器端。

您需要刷新浏览器缓存,删除服务器/主机的cookie,然后重试加载phpMyAdmin。

如果您想全力以赴,请清除服务器上的会话文件夹。

一个可能的原因是浏览器和网络服务器之间存在session data mismatch,导致它无法提取所需的会话信息并将此错误对话转储到您的膝盖上。

答案 1 :(得分:49)

问题可能是由文件和文件夹权限引起的;您可以尝试更改文件夹权限:

sudo chmod 777 /var/lib/php/session/

这将在PHP会话文件夹中设置完整的读/写权限。

注意:php/session/文件夹可能位于某些服务器上的不同位置。检查php.ini的会话路径。

答案 2 :(得分:9)

就我而言,/var/lib/php/session的所有权是错误的。我将其更改为Apache用户和组(Web服务器运行的用户和组),一切都很顺利。

答案 3 :(得分:7)

session.save_path中设置php.ini。确保您使用的是现有目录。

如果你仍然发现任何问题,那么给写&对于您要使用该文件夹的用户的该文件夹的执行权限。[这在IIS的情况下特别使用]

答案 4 :(得分:4)

此错误似乎有两个常见原因,一个是服务器配置和session.save_path,另一个是浏览器缓存。

如果您遇到此错误,请在尝试更改服务器上的Apache和PHP配置之前尝试使用其他浏览器或计算机!

请注意,清除服务器的Cookie是不够的,您需要清除缓存。

在Firefox中清除所有历史记录和cookie很简单,但您可能不想放弃 一切。清除缓存隐藏在Firefox中:

工具>选项>高级>网络: 缓存的Web内容 - 立即清除

答案 5 :(得分:3)

确定,

我正在使用Windows 7 Ultimate和WAMP 2.4服务器 tmp文件夹丢失了,所以我创建了一个,这解决了我的问题。 检查php.ini文件以获取正确的路径: session.save_path

答案 6 :(得分:3)

如果会话文件夹不可写,则登录失败。要检查这一点,请使用以下命令在您的Web目录中创建一个PHP文件:

<?php
$sessionPath = 'undefined';

if (!($sessionPath = ini_get('session.save_path'))) {
    $sessionPath = isset($_ENV['TMP']) ? $_ENV['TMP'] : sys_get_temp_dir();
}

if (!is_writeable($sessionPath)) {
    echo 'Session directory "'. $sessionPath . '"" is not writeable';
} else {
    echo 'Session directory: "' . $sessionPath . '" is writeable';
}

如果会话文件夹不可写,请执行

sudo setfacl -R -m u:www-data:rwx <session directory>chmod 777 <session directory>   -

答案 7 :(得分:2)

停止777

如果你使用nginx(就像我一样),只需将/var/lib/php/ 下的文件夹的所有权从apache更改为nginx

[root@centos ~]# cd /var/lib/php/
[root@centos php]# ll
total 12
drwxrwx---. 2 root apache 4096 Jan 30 16:23 opcache
drwxrwx---. 2 root apache 4096 Feb  5 20:56 session
drwxrwx---. 2 root apache 4096 Jan 30 16:23 wsdlcache

[root@centos php]# chown -R :nginx opcache/
[root@centos php]# chown -R :nginx session/
[root@centos php]# chown -R :nginx wsdlcache/
[root@centos php]# ll
total 12
drwxrwx---. 2 root nginx 4096 Jan 30 16:23 opcache
drwxrwx---. 2 root nginx 4096 Feb  5 20:56 session
drwxrwx---. 2 root nginx 4096 Jan 30 16:23 wsdlcache

还有/var/lib/phpMyAdmin/下的文件夹:

[root@centos php]# cd /var/lib/phpMyAdmin
[root@centos phpMyAdmin]# ll
total 12
drwxr-x---. 2 apache apache 4096 Dec 23 20:29 config
drwxr-x---. 2 apache apache 4096 Dec 23 20:29 save
drwxr-x---. 2 apache apache 4096 Dec 23 20:29 upload

[root@centos phpMyAdmin]# chown -R nginx:nginx config/
[root@centos phpMyAdmin]# chown -R nginx:nginx save/
[root@centos phpMyAdmin]# chown -R nginx:nginx upload/
[root@centos phpMyAdmin]# ll
total 12
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 config
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 save
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 upload

答案 8 :(得分:1)

对于Xampp,从'root'文件夹中删除临时苍蝇对我有用。

TH

答案 9 :(得分:0)

如果您检查了浏览器并且没有问题,请在服务器端检查这些命令:

基于 session.save_path 文件中的 php.ini,检查是否存在会话目录 (默认路径是:"/var/lib/php/session") 所以如果路径不存在,就创建它。
现在可能需要更改目录的所有权,例如(更改:用户:基于您的系统的组)

sudo chown user:group /var/lib/php/session

然后授予会话路径权限:

sudo chmod 0777 /var/lib/php/session

现在刷新浏览器

答案 10 :(得分:0)

就我而言,问题是由于磁盘空间不足引起的。我想为像我这样的其他用户提到它:)

答案 11 :(得分:0)

我最近也遇到了同样的问题。 通过截断php存储其会话数据的temp目录来解决此问题。

ie对于Unix OS: OP参考文件(此临时目录因您的操作系统而异)

ViewModel

截断目录后,我能够毫无问题地启动phpmyadmin。 我希望如果更改所有权和/或权限失败,这可以帮助其他人解决相同的问题。

答案 12 :(得分:0)

有时这是由于无效的会话密钥引起的。如果使用XAMPP,对我有用的是在XAMPP xampp / temp中打开temp文件夹,然后删除以sess _

开头的会话文件。

答案 13 :(得分:0)

我在Windows Server 2016中发现的问题是PHP使用的临时目录上的权限是错误的。我添加了IUSR。

答案 14 :(得分:0)

第一:如果不是会议目录(在我的情况下是) sudo mkdir / var / lib / php / session 第二:为session dir设置权限 sudo chmod 777 / var / lib / php / session

答案 15 :(得分:0)

问题还可能是session.save_handler中的php.ini值错误。当我将其更改为memcached时出现此错误,并在更改回files时再次工作

答案 16 :(得分:0)

知道这个帖子被标记为已解决,它会在Google搜索上提前显示给定的字词。所以我认为提到可能导致此错误的另一个原因可能会有用。

如果启用了“安全/安全cookie”,则必须禁用phpMyAdmin,因为它不会被激活。所以请确保你没有:

Header set Set-Cookie HttpOnly;Secure

在你的配置中。

答案 17 :(得分:0)

我清除了浏览器缓存。创建了phpinfo.php中列出的会话文件夹。

有效!

答案 18 :(得分:0)

我在同一个问题上工作了一整天。我的答案就是简单地清除浏览器的缓存。太糟糕了,我已经重新安装了webserver / phpmyadmin 3次。 :(