Question

J'essaie d'installer log4php sur un site très simple (en essayant d'apprendre comment cela fonctionne).Apache est installé dans /etc/ et vhost est défini comme :

DocumentRoot "/ home / fferri / workspace / site-tutorial / www" servername tutorial.localhost php_value auto_prepennd_file "/home/fferri/workspace/site-tutorial/www/configuresite.php" mon site est à / home / fferri / workspace / workspace / Le dossier Site-Tutorial / www / et log4php est sur /home/fferri/workspace/site-tutorial/services/lib/log4php-0.9/src/log4php/

Ensuite, je définis

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

dans ConfigureSite.php

Et, dans un autre fichier, j'essaye d'initialiser log4php :

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

L'erreur est toujours la même :

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

Cela vaut la peine de dire que LoggerRoot.php et Logger.php sont dans le même dossier.Je pense que j'ai un problème de chemins car mon serveur et mon site ne sont pas dans le même dossier, mais j'ai besoin d'un indice

Ajout de la trace complète de l'erreur dans la pile :

    [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

Ainsi, d'abord, Logger est trouvé, mais lors du chargement de LoggerHierarchy, Logger ne l'est pas.Pourquoi????

RÉSOLU :L'erreur est d'utiliser log4php-0.9 et php5 ensemble.En téléchargeant la bibliothèque située dans Apache Web (2.1), le problème est résolu.

Merci!

Était-ce utile?

La solution 2

L'erreur consiste à utiliser log4php-0.9 et php5 ensemble.Téléchargement de la bibliothèque située dans Apache Web (2.1), le problème est résolu.

Autres conseils

Je pense qu'en utilisant dirname(__FILE__) aura l'air mieux.

Je pensais aussi que ce serait le chemin...

Peut-être la définition du nom de classe alors.Appelez-vous new Logger dans Logger.php?

Qu'en est-il de quelque chose comme :

include(LOG4PHP_DIR."/Logger.php");
$log = new Logger();
$log->info("foo");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top