in 系统(System)

phpMyAdmin login error to remote server

I have a fresh install of Ubuntu 13.10 and phpMyAdmin version 4:4.0.6-1 . I add a remote server in config.inc.php for multiple server management. But phpMyAdmin failed to login to remote server.

there are following error logs in /var/log/apache2/error.log

PHP Fatal error:  Call to a member function getPresence() on a non-object in /usr/share/phpmyadmin/libraries/navigation/NavigationTree.class.php on line 1046

The code of NavigationTree.class.php at 1046 are

1039         } else if (($node->type == Node::CONTAINER                              
1040             && (   $node->real_name == 'tables'                                 
1041                 || $node->real_name == 'views'                                  
1042                 || $node->real_name == 'functions'                              
1043                 || $node->real_name == 'procedures'                             
1044                 || $node->real_name == 'events')                                
1045             )                                                                   
1046             && $node->realParent()->getPresence($node->real_name) >= (int)$GLOBALS['cfg']    ['NavigationTreeDisplayItemFilterMinimum']
1047         ) {

I am not sure the root cause of this issue. But I can fix this error by adding a check for if statment

1039         } else if (($node->type == Node::CONTAINER                              
1040             && (   $node->realParent )                                          
1041             && (   $node->real_name == 'tables'                                 
1042                 || $node->real_name == 'views'                                  
1043                 || $node->real_name == 'functions'                              
1044                 || $node->real_name == 'procedures'                             
1045                 || $node->real_name == 'events')                                
1046             )                                                                   
1047             && $node->realParent()->getPresence($node->real_name) >= (int)$GLOBALS['cfg']['NavigationTreeDisplayItemFilterMinimum']
1048         ) {

That's it.

发表评论