3

Zend Debuggerを使用して、ZendFrameworkに基づいて構築されたphpアプリケーションをデバッグしています。現在、1.10.6バージョンを実行しています。アプリケーションをデバッグすると、次のエラーが発生します。

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

これはZendFrameworkの単なるバグですか、それとも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();
4

3 に答える 3

3

zend サーバーを使用している場合は、zend オプティマイザーをオフにします

于 2012-04-15T10:43:17.077 に答える
2

おそらく、知らないうちにどこかでファイルを include() または require() している可能性があります。このコードを Autoloader.php の先頭に貼り付けてみてください:

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

トレースは、Autoloader.php が 2 回目に必要とされている場所を示します。

于 2010-07-29T19:23:33.993 に答える
1

おそらく、あなたは Zend Server を使用しています - デフォルトでこれが含まれていると思います。

于 2011-08-11T16:34:14.603 に答える