ubuntuを搭載したローカルPCにsymfony2アプリがあり、正常に動作しますが、CentOSとCpanelを搭載したサーバーでは機能せず、次のエラーが発生しました:
クラス "Propa\PageBundle\Entity\Page" は、有効なエンティティまたはマップされたスーパー クラスではありません。
重大 - Doctrine\ORM\Mapping\MappingException: クラス "Propa\PageBundle\Entity\Page" は有効なエンティティまたはマップされたスーパー クラスではありません。(キャッチされない例外) /home/estudi83/domains/serverprova.com.es/propa/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php 行 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 をインストールしましたが、正常に動作します!!