> The stack trace looks like you have an incorrect entry for CdbUser in > your autoload.xml, it seems to be pointing to CdbMembersPeer. This > file is included, which triggers a Propel startup. Propel is loaded by > Agavi's autoloader, and this Propel loading transparently sets up a > connection.
Hi David, your guess was almost right. My fault was that I put a require call in the CdbUser class and so the Propel initiation happend too early. I have to get familiar with the Agavi autoload support ... Many thanks Sel Am 21.01.2008 um 21:25 schrieb Selloso: >> Message: 2 >> Date: Sun, 20 Jan 2008 20:48:21 +0100 >> From: David Z?lke <[EMAIL PROTECTED]> >> Subject: Re: [Agavi-Users] Propel Support in connection with Security >> To: Agavi Users Mailing List <[email protected]> >> Message-ID: <[EMAIL PROTECTED]> >> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes >> >> Hi, >> > Hi David, >> can you provide the exact error message by Propel? >> >> > There is no error message by propel. I logged in debug level, but > the error appears before Propel is in action. > > I pasted the complete Stack Trace at the end of the mail. > >> Also, which version of Propel are you using? >> > I'm using the version 1.2.1 > >> I had this issue just the other day, but can't remember what it was >> exactly... is the Propel runtime (runtime/classes/propel) on your >> include path? Is your generated project on your include path? >> >> > Both is on my include_path. If I hard code the config path in the > AgaviPropelDatabase class it will work fine. > So I guess there's problem concerning the bootstrap. > > Many thanks > Sel > PropelException > An exception of type PropelException was thrown, but did not get > caught during the execution of the request. You will find > information provided by the exception along with a stack trace below. > > > Unable to open configuration file: NULL Stack Trace > ? at exception origin > in _/Applications/xampp/xamppfiles/lib/php/pear/propel/Propel.php > line 249 > ? */ > ? public static function init($c) > ? { > ? > self::configure($c); > ? self::initialize(); > ? } > ? > ? at Propel::init(NULL) > in core.agavi_dir/database/AgaviPropelAutoload.php line 37 > ? // we don't need a _once here > ? require('propel/Propel.php'); > ? > ? > Propel::init(AgaviPropelDatabase::getDefaultConfigPath()); > ? > ? ?> > ? at require('/Users/sel/Development/we ? e/AgaviPropelAutoload.php') > in core.agavi_dir/core/Agavi.class.php line 69 > ? > ? if(isset(self::$autoloads[$class])) { > ? // class exists, let's include it > ? > require(self::$autoloads[$class]); > ? } > ? > ? /* > ? at Agavi::__autoload('Propel') > in unknown > ? at spl_autoload_call('Propel') > in core.lib_dir/propel/cdb/om/BaseCdbMembersPeer.php line 578 > ? } // BaseCdbMembersPeer > ? > ? // static code to register the map builder for this Peer with > > the main Propel class > ? > if (Propel::isInit()) { > ? // the MapBuilder classes register themselves with Propel > during initialization > ? // so we need to load them here. > ? try { > ? at require_once('/Users/sel/Development/we ? om/ > BaseCdbMembersPeer.php') > in core.lib_dir/propel/cdb/CdbMembersPeer.php line 4 > ? <?php > ? > Warning: strpos() [function.strpos]: Offset not contained in string. > in /Users/sel/Development/web/cdb/lib/agavi/exception/templates/ > shiny.php on line 611 > > ? // include base peer class > ? > require_once 'cdb/om/BaseCdbMembersPeer.php'; > ? > ? // include object class > ? include_once 'cdb/CdbMembers.php'; > ? at require('/Users/sel/Development/we ? el/cdb/CdbMembersPeer.php') > in core.lib_dir/user/CdbUser.class.php line 3 > ? <?php > ? > Warning: strpos() [function.strpos]: Offset not contained in string. > in /Users/sel/Development/web/cdb/lib/agavi/exception/templates/ > shiny.php on line 611 > > ? > require ('/Users/sel/Development/web/cdb/app/lib/propel/cdb/ > CdbMembersPeer.php'); > ? > ? > ? /** > ? * Responsible for Login and Logout > ? at require('/Users/sel/Development/we ? ib/user/CdbUser.class.php') > in core.agavi_dir/core/Agavi.class.php line 69 > ? > ? if(isset(self::$autoloads[$class])) { > ? // class exists, let's include it > ? > require(self::$autoloads[$class]); > ? } > ? > ? /* > ? at Agavi::__autoload('CdbUser') > in unknown > ? at spl_autoload_call('CdbUser') > in unknown > ? at ReflectionClass->__construct('CdbUser') > in core.agavi_dir/config/AgaviFactoryConfigHandler.class.php line 223 > ? } > ? > ? try { > ? > $rc = new ReflectionClass($data[$factory]['class']); > ? } catch(ReflectionException $e) { > ? $error = 'Configuration file "%s" specifies unknown > > class "%s" for entry "%s"'; > ? $error = sprintf($error, $config, $data[$factory] > ['class'], $factory); > ? at AgaviFactoryConfigHandler->execute('/Users/sel/Development/we > ? /app/config/factories.xml', 'web') > in core.agavi_dir/config/AgaviConfigCache.class.php line 123 > ? $validationFile = $handlerInfo['validation'] > [AgaviXmlConfigParser::VALIDATION_TYPE_XMLSCHEMA][0]; > ? } > ? $handler->initialize($validationFile, null, > $handlerInfo['parameters']); > ? > $data = $handler->execute($config, $context); > ? } > ? > ? self::writeCacheFile($config, $cache, $data, false); > ? at AgaviConfigCache::callHandler('/Users/sel/Development/we ? / > app/config/factories.xml', '/Users/sel/Development/we ? /app/config/ > factories.xml', '/Users/sel/Development/we ? > s.xml_development_web.php', 'web') > in core.agavi_dir/config/AgaviConfigCache.class.php line 164 > ? > ? if(self::isModified($filename, $cache)) { > ? // configuration file has changed so we need to reparse > it > ? > self::callHandler($config, $filename, $cache, $context); > ? } > ? > ? return $cache; > ? at AgaviConfigCache::checkConfig('/Users/sel/Development/we ? / > app/config/factories.xml', 'web') > in core.agavi_dir/core/AgaviContext.class.php line 291 > ? $this->name = $profile; > ? > ? try { > ? > > include > (AgaviConfigCache::checkConfig(AgaviConfig::get('core.config_dir') . > '/factories.xml', $profile)); > ? } catch(Exception $e) { > ? AgaviException::printStackTrace($e, $this); > ? } > ? at AgaviContext->initialize('web') > in core.agavi_dir/core/AgaviContext.class.php line 248 > ? if(!isset(self::$instances[$profile])) { > ? $class = __CLASS__; > ? self::$instances[$profile] = new $class; > ? > self::$instances[$profile]->initialize($profile); > ? } > ? return self::$instances[$profile]; > ? } catch(Exception $e) { > ? at AgaviContext::getInstance('web') > in _/Users/sel/Development/web/cdb/pub/index.php line 30 > ? // > + > ---------------------------------------------------------------------------+ > ? // | Call the controller's dispatch method on the default > context | > ? // > + > ---------------------------------------------------------------------------+ > ? > AgaviContext::getInstance('web')->getController()->dispatch(); > ? > ? > ? ?> > > _______________________________________________ > users mailing list > [email protected] > http://lists.agavi.org/mailman/listinfo/users ------------------------------ _______________________________________________ users mailing list [email protected] http://lists.agavi.org/mailman/listinfo/users End of users Digest, Vol 15, Issue 5 ************************************ -- WWW: www.marcelkoch.net _____________________________________________________________________ Unbegrenzter Speicherplatz für Ihr E-Mail Postfach? Jetzt aktivieren! http://www.digitaledienste.web.de/freemail/club/lp/?lp=7 _______________________________________________ users mailing list [email protected] http://lists.agavi.org/mailman/listinfo/users
