Вопрос: Невозможно переопределить класс Zend_Loader_Autoloader


Я использую Zend Debugger для отладки моего php-приложения, созданного на основе Zend Framework. В настоящее время я запускаю версию 1.10.6. При отладке моего приложения i Получить эту ошибку:

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

Это просто ошибка в Zend Framework или это имеет какое-либо отношение к неправильной конфигурации в моем приложении 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();

3


источник


Ответы:


Возможно, вы включаете () или требуете () в файл где-то, не зная об этом. Попробуйте придерживаться этого кода в верхней части Autoloader.php:

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

Трассировка укажет, где требуется Autoloader.php во второй раз.


2



выключите zend optimizer, если вы используете zend-сервер


3



Возможно, вы используете Zend Server, который, по моему мнению, включает это по умолчанию.


1