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.
David 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
