【发布时间】:2011-08-16 14:24:37
【问题描述】:
我正在学习 symfony2 并想在一个包中创建一些 Doctrine 实体,我想移动它们。
但是,在移动并更改它们被引用的任何实例之后,我在尝试运行我的应用程序时遇到了错误。
我把它们搬回来了,一切都很好。
现在我只是想完全删除它们,但是这样做时我再次遇到错误。
对完全删除实体有帮助吗?
【问题讨论】:
-
提供实际错误会有所帮助。
我正在学习 symfony2 并想在一个包中创建一些 Doctrine 实体,我想移动它们。
但是,在移动并更改它们被引用的任何实例之后,我在尝试运行我的应用程序时遇到了错误。
我把它们搬回来了,一切都很好。
现在我只是想完全删除它们,但是这样做时我再次遇到错误。
对完全删除实体有帮助吗?
【问题讨论】:
我做了和 Pablo 先生完全一样的事情,但是对于一个包:我移动了一个包(重命名)并修改了对它的所有调用。
我有同样的错误:
ErrorException: Catchable Fatal Error: Object of class __PHP_Incomplete_Class could not be converted to string in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php line 70
in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php line 65
at ErrorHandler->handle() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php line 70
at AbstractToken->getUsername() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php line 56
at SecurityDataCollector->collect() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/HttpKernel/Profiler/Profiler.php line 174
at Profiler->collect() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php line 90
at ProfilerListener->onKernelResponse()
at call_user_func() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Debug/TraceableEventDispatcher.php line 82
at TraceableEventDispatcher->doDispatch() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3678
at EventDispatcher->dispatch() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 4754
at ContainerAwareEventDispatcher->dispatch() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3904
at HttpKernel->filterResponse() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3896
at HttpKernel->handleRaw() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3846
at HttpKernel->handle() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 4791
at HttpKernel->handle() in /Volumes/Data/home/timi/Sites/symfony2/app/bootstrap.php.cache line 547
at Kernel->handle() in /Volumes/Data/home/timi/Sites/symfony2/web/app_dev.php line 20
一些帮助将非常受欢迎:)
编辑:
好吧,我解决了这个问题,Adam Stacey 听得很清楚 :)
在更改任何内容之前,我使用 FOSUserBundle 防火墙登录了网站。 通过更改捆绑包的名称,它欺骗了防火墙并卡在 ./vendor/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php 的第 70 行 这是函数:
public function getUsername()
{
if ($this->user instanceof UserInterface) {
return $this->user->getUsername();
}
return (string) $this->user;
}
所以我注释掉了return (string) $this->user; 行,重新加载了网页,退出了,然后回复了评论。瞧!
【讨论】:
你遇到了什么错误?
确保你:
【讨论】:
就像 Inori 提到的那样,您是否尝试过重建实体?
如果不是从 CLI 试试这个:
php app/console doctrine:generate:entities Acme
php app/console doctrine:schema:update --force
将 "Acme" 替换为您的姓名、公司名称或您在捆绑包中使用的任何名称。
您可能需要做的另一件事是删除您使用过实体的所有实例。
例如,您可能在控制器中有一些如下所示的实体:
use Acme\BundleName\Entity\SomeEntity;
use Acme\BundleName\Entity\AnotherEntity;
它们需要被移除。
如果您有即将出现的特定错误的详细信息,请告诉我它们是什么,我会尽力为您提供进一步的帮助。
【讨论】:
我听说这有时也与会话有关。您是否使用任何捆绑包进行身份验证或类似的东西?
在您的 php.ini 文件中,您是否设置为:
session.auto_start = Off
这可能有点远,但值得一试。告诉我。
在单独的说明中。您的服务器设置是否通过了您可以通过 CLI 运行的 app/check.php 文件中的检查?
【讨论】: