loggerroot.php에서 찾을 수없는 클래스 '로거'
문제
매우 간단한 사이트에 log4php를 설치하려고합니다 (작동 방식을 배우려고). Apache는 / etc / in / etc / vhost가 다음과 같이 정의됩니다.
문서 루트 "/ 홈 / FFERI / 작업 공간 / 사이트 - 튜토리얼 / www" ServerName Tutorial.LocalHost. php_value auto_preper_file "/home/fferri/workspace/site-tutorial/www/configuresite.php" 내 사이트는 / 홈 / ffferri / workspace / site-tutorial / www / and 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
및 다른 파일로, 나는 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
.
이므로 먼저 로거가 발견되었지만 로거로드에서 로거는 없으며 로거가 아닙니다. 왜 ????
해결 : Log4PHP-0.9 및 PHP5를 함께 사용하는 데 오류가 있습니다. Apache Web (2.1)에있는 라이브러리를 다운로드하면 문제가 해결됩니다.
감사합니다!
해결책 2
LOG4PHP-0.9 및 PHP5를 함께 사용하는 데 오류가 있습니다.Apache Web (2.1)에있는 라이브러리를 다운로드하면 문제가 해결됩니다.
다른 팁
dirname(__FILE__)
를 사용하면 더 잘 보일 것입니다.
나는 또한 그것이 경로 일 것이라고 생각 ...
클래스 이름을 수상 할 수 있습니다.logger.php에서 new Logger
를 호출합니까?
include(LOG4PHP_DIR."/Logger.php");
$log = new Logger();
$log->info("foo");
.