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 WINDOWS 上的 phpmyadmin 错误