Класс 'logger "не найден в loggerroot.php
Вопрос
Я пытаюсь установить log4php на очень простой сайте (пытаясь узнать, как это работает). Apache установлен в / etc / и vhost определяется как:
. DocumentRoot "/ Главная / FFERRI / Рабочая область / Учебник на сайте / www" ServerName Tutorial.localhost php_value auto_prepend_file "/home/fferri/workspace/site-tutorial/www/configuresite.php" Мой сайт находятся в / home / fferri / Workspace / Tutorial на сайте / папка www / and log4php находится на /home/fferri/worksspace/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
и, в другой файл, я пытаюсь init log4php:
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 не. Почему ????
Решено: ошибка - использовать log4php-0,9 и php5 вместе. Загрузка библиотеки, расположенной в Интернете Apache (2.1), проблема решена.
Спасибо!
Решение 2
Ошибка - использовать log4php-0,9 и php5 вместе.Загрузка библиотеки, расположенной в Интернете Apache (2.1), проблема решена.
Другие советы
Я думаю, что используя dirname(__FILE__)
будет выглядеть лучше.
Я также думал, что это будет путь ...
Может быть, имена класса Desenition тогда.Вы называете new Logger
в Logger.php?
Как насчет чего-то вроде:
include(LOG4PHP_DIR."/Logger.php");
$log = new Logger();
$log->info("foo");
.