Класс Logger не найден в LoggerRoot.php

Я пытаюсь установить log4php на очень простой сайт (пытаясь узнать, как он работает). Apache установлен в / etc /, а vhost определяется как:

DocumentRoot "/ home / fferri / workspace / site-tutorial / www" ServerName tutorial.localhost php_value auto_prepend_file "/home/fferri/workspace/site-tutorial/www/ConfigureSite.php" Мой сайт находится в / home / fferri / workspace / site-tutorial / www / log4php находится в /home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/

Затем я определяю

define('LOG4PHP_DIR', "/home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/"); 

в ConfigureSite.php

И, в другой файл, я пытаюсь запустить log4php:

 include(LOG4PHP_DIR."/Logger.php"); $log = Logger::getLogger("main"); $log->info("foo"); $log->warn("bar"); в include(LOG4PHP_DIR."/Logger.php"); $log = Logger::getLogger("main"); $log->info("foo"); $log->warn("bar"); 

Ошибка всегда одна и та же:

 Fatal error: Class 'Logger' not found in /home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/LoggerRoot.php on line 37 

Стоит сказать, что LoggerRoot.php и Logger.php находятся в одной папке. Я думаю, что у меня проблема с путями, потому что мой сервер и мой сайт находятся не в одной папке, но мне нужна подсказка

Добавление полной ошибки трассировки стека:

  [22-May-2012 11:34:38] PHP Fatal error: Class 'Logger' not found in /home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/LoggerRoot.php on line 36 [22-May-2012 11:34:38] PHP Stack trace: [22-May-2012 11:34:38] PHP 1. {main}() /home/fferri/workspace/site-tutorial/www/index.php:0 [22-May-2012 11:34:38] PHP 2. require_once() /home/fferri/workspace/site-tutorial/www/index.php:12 [22-May-2012 11:34:38] PHP 3. require_once() /home/fferri/workspace/site-tutorial/www/greet_at_opening.php:11 [22-May-2012 11:34:38] PHP 4. require_once() /home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/Logger.php:24 [22-May-2012 11:34:38] PHP 5. require_once() /home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/LoggerCategory.php:27 [22-May-2012 11:34:38] PHP 6. require_once() /home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/spi/LoggerLoggingEvent.php:28 [22-May-2012 11:34:38] PHP 7. require_once() /home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/LoggerManager.php:29 [22-May-2012 11:34:38] PHP 8. require_once() /home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/LoggerHierarchy.php:28 

Итак, во-первых, Logger найден, но при загрузке LoggerHierarchy Logger нет. Зачем????

SOLVED: ошибка заключается в том, чтобы использовать log4php-0.9 и php5 вместе. Загружая библиотеку, расположенную в Apache Web (2.1), проблема решена.

Благодаря!

Я думаю, что использование dirname(__FILE__) будет выглядеть лучше.

Я также думал, что это будет путь …

Возможно, тогда это имя класса. вы вызываете new Logger в Logger.php?

Что-то вроде:

 include(LOG4PHP_DIR."/Logger.php"); $log = new Logger(); $log->info("foo"); в include(LOG4PHP_DIR."/Logger.php"); $log = new Logger(); $log->info("foo"); 

Ошибка заключается в том, чтобы использовать log4php-0.9 и php5 вместе. Загружая библиотеку, расположенную в Apache Web (2.1), проблема решена.