致命错误:未捕获的错误:在 C:\xampp\phpMyAdmin\libraries\classes\DatabaseInterface.php:1544 中的 null 上调用成员函数存在()
Posted
技术标签:
【中文标题】致命错误:未捕获的错误:在 C:\\xampp\\phpMyAdmin\\libraries\\classes\\DatabaseInterface.php:1544 中的 null 上调用成员函数存在()【英文标题】:Fatal error: Uncaught Error: Call to a member function exists() on null in C:\xampp\phpMyAdmin\libraries\classes\DatabaseInterface.php:1544致命错误:未捕获的错误:在 C:\xampp\phpMyAdmin\libraries\classes\DatabaseInterface.php:1544 中的 null 上调用成员函数存在() 【发布时间】:2018-10-11 19:07:54 【问题描述】:刚刚安装了 Xampp 7.2.4,尝试在 xampp 控制面板 v3.2.2 中打开 mysql 的 ADMIN 时出现以下错误。我在另一个工作站上进行了该设置,相同的操作系统(Windows Server 2012 R2)相同版本的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
【问题讨论】:
我的机器上出现同样的错误。我刚刚安装了 XAMPP 7.2.4。 【参考方案1】:转到 xampp/phpmyadmin/libraries/classes/databaseintreface Open in sublime text go on line 1535 代码写成 ([zeroconf]==true) 将其更改为 ([zeroconf]!= true)...
【讨论】:
试过你的帖子但没有运气...同样的错误...重新启动 PhPMyAdmin 和 MySQL.. 它对我有用。我没有在 Xampp 中使用 mysql。我已经安装了 MYSQL Server 社区版。安装社区版后出现此错误。现在解决了【参考方案2】:在第 1544 行,更改“if ($GLOBALS['dblist']->databases->exists('phpmyadmin'))” 对于“if ($GLOBALS['dblist']->databases->exists('phpMyAdmin'))”。
【讨论】:
试过了,它也失败了......同样的错误......还在第 1545 行将 phpmyadmin 更改为 phpMyAdmin【参考方案3】:在 MySQL 强制关闭后,我遇到了同样的错误。
在跟踪代码中的错误后,发现是浏览器cookie损坏,导致PHPMyAdmin无法获取数据库列表。
在 Google Chrome 中,您可以通过以下方式刷新 cookie:
-
浏览到您的 PHPMyAdmin 页面:http://localhost/phpmyadmin/
按 F12 键打开开发者工具
在顶部菜单中,转到“应用程序”标签
在左侧菜单中,单击“清除存储”选项。
点击“清除站点数据按钮”。
【讨论】:
感谢您发布此消息! 如果您使用的是 XAMPP 或 WAMP,请按照以下步骤尝试删除 tmp 文件夹下的内容。【参考方案4】:如果您已经创建了 phpmyadmin
数据库,那么您可以安全地注释第 1543 到 1547 行,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);
//
//
【讨论】:
【参考方案5】:这个答案增强了之前的答案:
-
编辑DatabaseInterface.php文件
找到以下函数:postConnectControl
注释函数体(查看图片)
保存文件。
可选:从 XAMPP 重新启动 Apache HTTP Web 服务器
函数必须与此类似:
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);
//
//
//
【讨论】:
【参考方案6】:我认为您使用的是 android Studio IDE。这需要 PHP My Admin 作为数据库。将数据库连接到应用程序后。它会弄乱你的 PHP My Admin。尝试先关闭应用程序,然后重新启动您的 XAMPP 应用程序。希望对您有所帮助!
【讨论】:
【参考方案7】:我已经解决了升级到最新版本的 Phpmyadmin 4.8.2
【讨论】:
以上是关于致命错误:未捕获的错误:在 C:\xampp\phpMyAdmin\libraries\classes\DatabaseInterface.php:1544 中的 null 上调用成员函数存在()的主要内容,如果未能解决你的问题,请参考以下文章