我用Bisna lib将lib Doctrine 2.0更新为2.2。它运行得很好,但是当Zend_Session::start()
被调用(进入Boostrap.php
)时,我遇到了Zend_Session / zend_auth的问题。由于会话中存储了用户代理,我发生了致命错误。
> Zend_Session_Exception Object
(
[_previous:Zend_Exception:private] =>
[message:protected] => Zend_Session::start() - /home/site/dev.full-estudio.com/library/Zend/Loader.php(Line:146): Error #2 include_once(): Failed opening 'Studio/Domain/Proxy/__CG__/Studio/Domain/Entity/ESecurityStudioUser.php' for inclusion
班级名称
Studio\Domain\Proxy\__CG__\Studio\Domain\Entity\ESecurityStudioUser
这门课的真正路径是
Studio\Domain\Proxy\__CG__StudioDomainEntityESecurityStudioUser
配置主义代理:
resources.doctrine.orm.entityManagers.default.proxy.autoGenerateClasses = true
resources.doctrine.orm.entityManagers.default.proxy.namespace = "Studio\Domain\Proxy"
resources.doctrine.orm.entityManagers.default.proxy.dir = APPLICATION_PATH "/../library/Studio/Domain/Proxy"
答案 0 :(得分:3)
安德鲁的答案指向了正确的方向。
Doctrine 2.2.0似乎不喜欢单个级别的代理命名空间(至少在ZF1.x引导过程的上下文中 - 我在与bastien相同的上下文中遇到它)。
所以
resources.doctrine.orm.entityManagers.default.proxy.namespace = "Fancy\Ns\Proxy"
打破代理的自动加载,而
resources.doctrine.orm.entityManagers.default.proxy.namespace = "Proxy"
工作得很好。 (事实上,你可以注释掉配置行,而Bisna将使用“Proxy”作为默认值。)
答案 1 :(得分:1)
我有完全相同的问题...见这里: -
http://groups.google.com/group/doctrine-user/browse_thread/thread/334c3136ccf21630
似乎bisna lib并不完全支持学说2.2 :(