user2286026
user2286026

Reputation: 65

phpMyAdmin: PHP fatal error - Cannot redeclare PMA_checkLink()

I have recently started encountering issues when trying to access my hosted phpMyAdmin. I am getting a 500 inernal server error when trying to access it and as expected getting nothing but a blank page in my browser.

I have had a look at the error log for phpMyAdmin and noticed the following error is being raised:

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

Firstly, I reinstalled phpMyAdmin and after this, was able to access it fine for a while before I began experiencing the same issue again.

I had a look around the web and came across the following blog here with a potential fix for this problem. I did what the blog suggested and added the following:

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

at the top of the following file:

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

this worked for a while but then got another 500 internal server error. So again I checked the error log and got the following error message:

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

As well as these fatal errors I am getting the following warning messages but not sure if these have anything to do with the issue:

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

I am running a dedicated Centos 6 server with PHP version 5.3.3, Apache version 2.2.15, mysql version 5.1.61 & phpMyAdmin version 3.5.7

If anyone can shed some light on this, that would be excellent!

Upvotes: 4

Views: 7107

Answers (1)

RandomSeed
RandomSeed

Reputation: 29779

require_once(): Unable to allocate memory for pool. means there was not enough memory to include some of the declaration files from PhpMyAdmin.

These files having not been included, the definitions they contain were not loaded. Hence your first errors Call to undefined function PMA_sanitize().

The blog post you linked to advises adding an inclusion at a dubious location, leading you to include some definition files where it shouldn't. Hence your second error Cannot redeclare PMA_checkLink().

If I were you I would rollback all changes in the PhpMyAdmin code and try to address the first problem. This question will probably provide you with the right procedure.

Upvotes: 2

Related Questions