开发者

Symfony: issue with switching context

I am using Symfony 1.2 and I have some issues switching context.

This code was working fine:

require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');

$configuration = ProjectConfiguration::getApplicationConfiguration('account', 'prod', false);
$context = sfContext::createInstance($configuration, 'account-prod');

$userToLogin = PcUserPeer::retrieveByEmailAddress("myemail@example.com");
Auth::login($context->getUser(), $userToLogin, false, false);

echo "all done.";

At some point requirements changed and I needed to use the 'public' application bef开发者_如何学Pythonore the 'account' one.

Then I changed to:

require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');

// {{{ new code:
$configuration = ProjectConfiguration::getApplicationConfiguration('public', 'prod', false);
sfContext::createInstance($configuration);    
// some code using the public app...
// }}}    


$configuration = ProjectConfiguration::getApplicationConfiguration('account', 'prod', false);
$context = sfContext::createInstance($configuration, 'account-prod');
// {{{ new code:
sfContext::switchTo('account-prod');
// }}}  

$userToLogin = PcUserPeer::retrieveByEmailAddress("myemail@example.com");
CustomAuth::login($context->getUser(), $userToLogin, false, false);

echo "all done.";

Basically I added a switchTo call.

After the change, the code got broken and the error message is this:

PHP Fatal error: Call to a member function prepare() on a non-object in /var/www/html/myproj/symfony/storage/sfPDOSessionStorage.class.php on line 109

Thanks for your help,

Dan


Symfony is trying to load the session storage object. I suppose there is a problem with your new environment's configuration.

Check

/apps/public/config/factories.yml

Look for "storage" and try to find out how is it different from the other app's configuration.


Hard to know without a backtrace/more info what is triggering the error. It looks like you are using sessions stored in a database, and that a query related to that is failing.

Try setting the third argument to getApplicationConfiguration to true (which will turn debug on) and see if you get more output.

At a guess, it looks like the account app is using PDO session storage, and is failing to connect to the database or something?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜