3

I have an interesting issue. The front-end of my website loads fine, however when I try to navigate to:

domain.com/index.php/admin

I get a white page. I have enabled debugging mode and it displays this error:

Array ( [type] => 64 [message] => Cannot redeclare class Mage_Admin_Model_Session [file] => /var/www/vhosts/domain.co.uk/sub-domain.co.uk/includes/src/__adminhtml.php [line] => 504 )

Since finding this new error, I've tried to comment/remove every class that it cannot redeclare in the __adminhtml.php file, one by one.. Only to find that by the time I've commented them all out and refreshed the admin page, it gives no error whatsoever. Just a white page.

Any ideas?

JAL
  • 41,701
  • 23
  • 172
  • 300

1 Answers1

4

Here are some debugging tips you could try to find the cause of the problem.

This snippet will show you where a given class is previously defined:

$className = 'Foo';
if ( class_exists( $className ) ) {
  $rc = new ReflectionClass($className);
  print __FILE__.':'.__LINE__. ": Class $className already defined in " 
    . $rc->getFileName() . ":" . $rc->getStartLine();
}

You can do the same for functions; just use function_exists and ReflectionFunction instead.

It looks like somewhere a file is included/required twice. If it is the __adminhtml.php file that is included once too often, you can add a call to debug_print_backtrace() to see where it's being included from.

Also, If you have customized files, you could use require_once instead of require.

Kenney
  • 9,003
  • 15
  • 21