致命错误:未捕获错误:在c:\xampp\phpmyadmin\libraries\classes\databaseinterface中对null上的成员函数exists()的调用php:1544

cdmah0mi  于 2021-06-21  发布在  Mysql
关注(0)|答案(7)|浏览(396)

刚刚安装了xampp7.2.4,我在xampp控制面板v3.2.2中打开adminformysql时遇到了以下错误。我在另一个工作站上安装了相同的操作系统(WindowsServer2012R2)和xampp的相同版本,但是我得到的错误对我来说毫无意义…尽管如此?已经比较了两种安装方式,它们看起来很相似。

Fatal error: Uncaught Error: Call to a member function exists() on null in C:\xampp\phpMyAdmin\libraries\classes\DatabaseInterface.php:1544 Stack trace: 

# 0 C:\xampp\phpMyAdmin\libraries\classes\DatabaseInterface.php(2477): PhpMyAdmin\DatabaseInterface->postConnectControl()

# 1 C:\xampp\phpMyAdmin\libraries\common.inc.php(358): PhpMyAdmin\DatabaseInterface->connect(257)

# 2 C:\xampp\phpMyAdmin\index.php(26): require_once('C:\\xampp\\phpMyA...')

# 3 {main} thrown in C:\xampp\phpMyAdmin\libraries\classes\DatabaseInterface.php on line 1544
lztngnrs

lztngnrs1#

在第1544行中,将“if($globals['dblist']->databases->exists('phpmyadmin')”更改为“if($globals['dblist']->databases->exists('phpmyadmin')”。

9njqaruj

9njqaruj2#

此答案增强了前面的答案:
编辑databaseinterface.php文件
查找以下函数:postconnectcontrol
注解函数体(查看图像)
保存文件。
可选:从xampp重新启动apachehttpweb服务器
功能必须类似于:

public function postConnectControl()
    {
        // If Zero configuration mode enabled, check PMA tables in current db.
        // if ($GLOBALS['cfg']['ZeroConf'] == true) {
            // if (strlen($GLOBALS['db'])) {
                // $cfgRelation = $this->relation->getRelationsParam();
                // if (empty($cfgRelation['db'])) {
                    // $this->relation->fixPmaTables($GLOBALS['db'], false);
                // }
            // }
            // $cfgRelation = $this->relation->getRelationsParam();
            // if (empty($cfgRelation['db'])) {
                // if ($GLOBALS['dblist']->databases->exists('phpmyadmin')) {
                    // $this->relation->fixPmaTables('phpmyadmin', false);
                // }
            // }
        // }
    }
qaxu7uf2

qaxu7uf23#

我已经解决了升级到phpMyAdmin4.8.2的最新版本的问题

ftf50wuq

ftf50wuq4#

如果您已经有了 phpmyadmin 数据库已创建,xampp就是这种情况,它可以正常工作。

if ($GLOBALS['cfg']['ZeroConf'] == true) {
    if (strlen($GLOBALS['db'])) {
        $cfgRelation = $this->relation->getRelationsParam();
        if (empty($cfgRelation['db'])) {
            $this->relation->fixPmaTables($GLOBALS['db'], false);
        }
    }
    $cfgRelation = $this->relation->getRelationsParam();
    // if (empty($cfgRelation['db'])) {
    //     if ($GLOBALS['dblist']->databases->exists('phpmyadmin')) {
    //         $this->relation->fixPmaTables('phpmyadmin', false);
    //     }
    // }
}
ogsagwnx

ogsagwnx5#

我认为您使用的是android studio ide。它需要我的php管理员作为数据库。将数据库连接到应用程序之后。它会搞砸你的php我的管理员。尝试先关闭应用程序,然后重新启动xampp应用程序。希望有帮助!

j8ag8udp

j8ag8udp6#

我只是在一次暴力关闭mysql之后犯了同样的错误。
在跟踪到代码中的错误后,发现是浏览器cookie损坏了,阻止phpmyadmin获取数据库列表。
在google chrome中,您可以通过以下方式刷新Cookie:
浏览到您的phpmyadmin页面:http://localhost/phpmyadmin/
按f12键打开开发工具
在顶部菜单中,转到“应用程序”选项卡
在左侧菜单中,单击“清除存储”选项。
点击“清除站点数据按钮”。

dgiusagp

dgiusagp7#

转到xampp/phpmyadmin/libraries/classes/databaseintreface open in sublime text转到第1535行代码编写为([zeroconf]==true)将其更改为([zeroconf]!=是的)。。。

相关问题