gpt4 book ai didi

symfony2 不是有效的实体或映射的父类(super class)

转载 作者:行者123 更新时间:2023-12-04 19:35:01 25 4
gpt4 key购买 nike

我有一个 symfony2 应用程序,在我的本地电脑上使用 ubuntu 并且运行良好,但是在使用 CentOS 和 Cpanel 的服务器上不工作,我得到了这个错误:

Class "Propa\PageBundle\Entity\Page" is not a valid entity or mapped super class.

CRITICAL - Doctrine\ORM\Mapping\MappingException: Class "Propa\PageBundle\Entity\Page" is not a valid entity or mapped super class. (uncaught exception) at /home/estudi83/domains/serverprova.com.es/propa/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php line 216



我证明:
$page=$em->getRepository('PropaPageBundle:Page')->findOneBy(array('codi'=>'0001'));

并得到这个错误: Unknown Entity namespace alias 'PropaPageBundle'.
我证明:
 $page=$em->getRepository('Propa\PageBundle\Entity\Page')->findOneBy(array('codi'=>'0001'));

并获得相同的错误: Class "Propa\PageBundle\Entity\Page" is not a valid entity or mapped super class.
这是实体:
<?php
namespace Propa\PageBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\Common\Collections\ArrayCollection;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
use Propa\PageBundle\Util;
use Gedmo\Mapping\Annotation as Gedmo;




/**
* @ORM\Entity(repositoryClass="Propa\PageBundle\Repository\PageRepository")
* @Gedmo\TranslationEntity(class="Propa\PageBundle\Entity\Translation\PageTranslation")
* @ORM\HasLifecycleCallbacks
* @Vich\Uploadable
*/

class Page {

/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
protected $id;

我已经证明:
auto_mapping: true


auto_mapping: false
mappings:
PageBundle: ~

但总是得到相同的错误。

我能做些什么?

更新:使用 symfony2 注释解决了 eAccelerator 中的问题,我卸载了 eAccelerator 并安装了 APC 并且工作正常!!

最佳答案

最后,它可能是缓存优化器问题。如果您使用的是 eAccelerator,那么您将遇到问题,可能是 Doctrine。原因是 eAccelerator 从代码中删除了注释!您可以尝试在学说方面表现良好的 APC。

阅读 apc vs eaccelerator vs xcache

看一下

http://you.site.name/config.php

它向您展示了使您的应用程序工作应该存在的要求。



请公开您的页面实体类。

这个错误可能有很多原因,您的问题已经在 SO "Class XXX is not a valid entity or mapped super class" after moving the class in the filesystem 上提出过。

https://github.com/symfony/symfony/issues/4554
$page=$em->getRepository('PageBundle:Page')->findOneBy(array('codi'=>'0001'));

将其更改为
 $page=$em->getRepository('PropaPageBundle:Page')->findOneBy(array('codi'=>'0001'));

或者
 $page=$em->getRepository('Propa\PageBundle\Entity\Page')->findOneBy(array('codi'=>'0001'));

看看它是否有效。

关于symfony2 不是有效的实体或映射的父类(super class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14986080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com