phpMyAdmin:PHP 致命错误 - 无法重新声明 PMA_checkLink()

Posted

技术标签:

【中文标题】phpMyAdmin:PHP 致命错误 - 无法重新声明 PMA_checkLink()【英文标题】:phpMyAdmin: PHP fatal error - Cannot redeclare PMA_checkLink() 【发布时间】:2013-04-08 18:34:55 【问题描述】:

我最近在尝试访问托管的 phpMyAdmin 时遇到了问题。我在尝试访问它时收到 500 内部服务器错误,并且正如预期的那样,在我的浏览器中只看到一个空白页面。

我查看了 phpMyAdmin 的错误日志,发现出现以下错误:

PHP Fatal error:  Call to undefined function PMA_sanitize() in /usr/share/phpMyAdmin/libraries/Message.class.php on line 541

首先,我重新安装了 phpMyAdmin,在此之后,在我再次遇到同样的问题之前能够正常访问它一段时间。

我浏览了网络并发现了以下博客here,该博客可能会解决此问题。我按照博客的建议做了,并添加了以下内容:

require_once('./libraries/sanitizing.lib.php');

在以下文件的顶部:

/usr/share/phpMyAdmin/libraries/Message.class.php

这工作了一段时间,但随后又出现了 500 个内部服务器错误。所以我再次检查了错误日志并收到以下错误消息:

PHP Fatal error:  Cannot redeclare PMA_checkLink() (previously declared in /usr/share/phpMyAdmin/libraries/sanitizing.lib.php:15) in /usr/share/phpMyAdmin/libraries/sanitizing.lib.php on line 35

除了这些致命错误,我还收到以下警告消息,但不确定这些是否与问题有关:

PHP Warning:  Unknown: Unable to allocate memory for pool. in Unknown on line 0

PHP Warning:  require_once(): Unable to allocate memory for pool. in /usr/share/phpMyAdmin/index.php on line 13

PHP Warning:  require(): Unable to allocate memory for pool. in /usr/share/phpMyAdmin/libraries/common.inc.php on line 52

PHP Warning:  require_once(): Unable to allocate memory for pool. in /usr/share/phpMyAdmin/libraries/Error_Handler.class.php on line 12

PHP Warning:  require_once(): Unable to allocate memory for pool. in /usr/share/phpMyAdmin/libraries/Error.class.php on line 12

我正在使用 PHP 5.3.3 版、Apache 2.2.15 版、mysql 5.1.61 版和 phpMyAdmin 3.5.7 版运行专用 Centos 6 服务器

如果有人能对此有所了解,那就太好了!

【问题讨论】:

如果您引用外部资源,请始终在您的问题/答案中包含其中的重要部分,因为引用的资源可能不再可用。使您的帖子无用。 好主意,我从来没有想过。不确定你是否看过它,但它建议包括:require_once('./libraries/sanitizing.lib.php');在文件的顶部:/usr/share/phpMyAdmin/libraries/Message.class.php @user2286026 请在您的问题正文中添加这条信息(您可以编辑您的问题)。 问题已编辑。感谢您的建议 - 第一篇文章。 【参考方案1】:

require_once(): Unable to allocate memory for pool. 表示内存不足,无法包含来自 PhpMyAdmin 的一些声明文件。

这些文件未被包含,它们包含的定义未被加载。因此你的第一个错误Call to undefined function PMA_sanitize()

您链接到的博客文章建议在可疑位置添加包含项,从而导致您在不应该包含一些定义文件的位置。因此你的第二个错误Cannot redeclare PMA_checkLink()

如果我是你,我会回滚 PhpMyAdmin 代码中的所有更改并尝试解决第一个问题。 This question 可能会为您提供正确的程序。

【讨论】:

以上是关于phpMyAdmin:PHP 致命错误 - 无法重新声明 PMA_checkLink()的主要内容,如果未能解决你的问题,请参考以下文章

xampp phpmyadmin 致命错误

无法访问 xampp WINDOWS 上的 phpmyadmin 错误

致命错误:phpMyAdmin 中的执行时间超过 30 秒

致命错误:内存不足 Zend 错误 / PhpMyAdmin

phpMyAdmin 无法导出数据库

PHPMyAdmin 致命错误 - Twig_Error_Loader