Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果phpMyAdmin中没有错误,则无法启动会话_Php_Session_Phpmyadmin - Fatal编程技术网

如果phpMyAdmin中没有错误,则无法启动会话

如果phpMyAdmin中没有错误,则无法启动会话,php,session,phpmyadmin,Php,Session,Phpmyadmin,当将浏览器指向phpMyAdmin时,我得到以下错误 如果没有错误,则无法启动会话。请检查PHP和/或Web服务器日志文件中给出的错误,并正确配置PHP安装 我已经检查了所有的东西,似乎不知道问题出在哪里 在我的php.ini文件中,我有: session.save_path = "/var/lib/php/session" 权限: drwxr-xr-x 2 root apache 4096 Feb 16 04:47 session 似乎什么都不管用。甚至将会话目录的权限更改为777。问题

当将浏览器指向phpMyAdmin时,我得到以下错误

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

我已经检查了所有的东西,似乎不知道问题出在哪里

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

session.save_path = "/var/lib/php/session"
权限:

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

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

问题通常在于浏览器端

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

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


造成这种情况的一个可能原因是浏览器和Web服务器之间的冲突,导致它无法提取所需的会话信息,并将此错误对话转储到您的膝上

我花了整整一天的时间研究这个问题。对我来说,答案就是清除浏览器的缓存。太糟糕了,我已经重新安装了3次webserver/phpmyadmin:(

导致此错误的常见原因有两个,一个是服务器配置和session.save_路径,另一个是浏览器缓存

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

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

在Firefox中,清除所有历史记录和Cookie很容易,但您可能不想摆脱它 一切。清除缓存隐藏在Firefox中:

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

在我的例子中,
/var/lib/php/session
的所有权是错误的。我将其更改为Apache用户和组(Web服务器作为其运行的用户和组)一切都很好。

设置
会话。在
php.ini
中保存路径。确保使用的是现有目录


如果仍然发现任何问题,则为要使用该文件夹的用户授予该文件夹的写入和执行权限。[这是在IIS中特别使用的]

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


成功了!

对于Xampp,从“根”文件夹中删除临时苍蝇对我来说很有效

好的

我使用的是Windows7Ultimate和WAMP2.4服务器 tmp文件夹丢失了,所以我创建了一个,这解决了我的问题。
检查php.ini文件的正确路径:session.save_path

知道此线程被标记为已解决,它会在Google搜索给定术语时提前显示。因此我认为提及可能导致此错误的另一个原因可能很有用

如果您启用了“安全/安全Cookie”,则必须为phpMyAdmin禁用该功能,因为它在激活它们时不起作用。因此,请确保您没有以下功能:

Header set Set-Cookie HttpOnly;Secure

在您的配置中。

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

sudo chmod 777 /var/lib/php/session/
这将设置PHP会话文件夹的完全读/写权限


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

如果会话文件夹不可写,则登录失败。若要检查此情况,请在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';
}

问题还可能是您有一个错误的
会话。请在您的
php.ini
中保存处理程序的值。我在将其更改为
memcached
时遇到了此错误,并在更改回
文件时再次工作
首先:如果不是
会话
目录(在我的情况下是这样)

Second:
会话设置权限

sudo chmod 777 /var/lib/php/session

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

STOP
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

这有时是由于会话密钥无效。如果使用XAMPP,对我有效的方法是打开XAMPP XAMPP/temp中的temp文件夹,然后删除以sess开头的会话文件。我最近遇到了同样的问题。 它是通过截断php存储会话数据的临时目录来解决的

用于Unix操作系统的ie: OP ref.文件(此临时目录因操作系统而异)

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

在我的情况下,问题是由于磁盘空间不足。我想向像我这样的其他用户提一下:)

在我的情况下,主机上没有“tmp”目录,Apache存储会话数据的地方。嘿@shasi-执行一个
并查找
会话。保存路径
。我必须将会话文件夹设置为777
sudo chmod 777-R/var/lib/php5
,并清除缓存ctrl+F5。在我的情况下,这个答案是最有效的解决方案。我有一个单独的phpmyadmin打开。(我想要两个窗口,一个用于本地,一个用于远程)。通过关闭一个窗口并清除浏览器缓存,错误消失了。这种方法对我不起作用,我还试图从文件管理器中删除一些不必要的.zip文件,但仍然是相同的错误Firefox-Clear cache=
CRTL+F5
这是我在确保遵循上述建议后必须做的事情。在我的EC2服务器上,不知何故,我的/var/lib/php/session目录所有权被设置为错误的user:group。它们归Apache所有,但我使用的是nginx,我在客户端服务器上,在pi中
[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
find /var/lib/php/session -type f -delete