Вопрос

Я пытаюсь установить 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");
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top