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

2020/11/15 10:41 · php ·  · 0评论

将浏览器指向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服务器之间的会话数据不匹配,导致其无法提取所需的会话信息并将此错误对话框转储到您的膝盖上。

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

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

这将在PHP会话文件夹中设置完全读取/写入权限。

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

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

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

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

停止777


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

[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

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

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

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

在Firefox中,清除所有历史记录和cookie很容易,但是您可能不想摆脱所有问题。清除缓存在Firefox中是隐藏的:

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

好,

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

如果会话文件夹不可写,则登录失败。要进行检查,请使用以下命令在您的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>
-

对于Xampp,从“根”文件夹中删除临时苍蝇对我有用。

TH

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

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

有效 !

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

如果启用了“安全/安全cookie”,则必须为phpMyAdmin禁用它,因为它无法与激活它们一起使用。因此,请确保您没有类似的东西:

Header set Set-Cookie HttpOnly;Secure

在您的配置中。

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

第一:如果不是sessiondir(在我的情况下是)

sudo mkdir /var/lib/php/session

第二:设置session目录权限

sudo chmod 777 /var/lib/php/session

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

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

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

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

find /var/lib/php/session -type f -delete

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

本文地址:http://php.askforanswer.com/wufaqidonghuihuaerzaiphpmyadminzhongmeiyoucuowu.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!