将浏览器指向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。
答案 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)
答案 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次。 :(