phpzend-frameworkzend-studiozend-debugger

Cannot redeclare class Zend_Loader_Autoloader


I am using Zend Debugger to debug my php application built based on the Zend Framework. Currently I am running the 1.10.6 version. When debugging my application i Get this error:

Compile Error: /var/www/Zend/ZendFramework-1.10.6/library/Zend/Loader/Autoloader.php line 36 - Cannot redeclare class Zend_Loader_Autoloader

Is this just a bug in the Zend Framework or does it have anything to do with a misconfiguration in my application.php?

$paths = array(

    realpath(dirname(__FILE__).'/../library'),
    '.',
);
*/


defined('APPLICATION_PATH') 
    or define('APPLICATION_PATH', realpath(dirname(__FILE__).'/../application'));
defined('APPLICATION_ENV')
    or define('APPLICATION_ENV', 'development');

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH.'/../library'),
)));    


//require_once('Zend/Loader/Autoloader.php');   
require_once('Zend/Application.php');

$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH.'/configs/events.ini'  
);

$application->bootstrap()->run();

Solution

  • Perhaps you're include()-ing or require()-ing the file somewhere without knowing it. Try sticking this code at the top of Autoloader.php:

    if (!isset($GLOBALS['zend_autoloader_loaded'])) {
        $GLOBALS['zend_autoloader_loaded'] = true;
    }
    else {
        print_r(debug_backtrace());
        die;
    }
    

    The trace will indicate where Autoloader.php is being required for the 2nd time.