Я искал в stackoverflow для своей проблемы, но я не нашел ответа на свою проблему.Symfony production Mapping Exception FOSUserBundle
В настоящее время я развертываю свой проект symfony на своем сервере Debian под управлением PHP 5.6.26 following the documentation on the symfony website.
Когда я выполнил команду для установки мои пакеты, выполнив команду composer install --no-dev --optimize-autoloader
Я получаю следующее сообщение об ошибке:
[Doctrine\ORM\Mapping\MappingException] Class "AppBundle\Entity\User" sub class of "FOS\UserBundle\Model\User" is not a valid entity or mapped super class.
я не имею эту ошибку на моей машине развития (Windows 10 рабочий стол и Macbook)
В настоящее время я понятия не имею, что может быть неправильно. Я переключился с аннотации на yml позже в проекте.
Мой User.php
файл:
<?php
namespace AppBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
/**
* User
*/
class User extends BaseUser
{
public function __construct()
{
parent::__construct();
}
protected $id;
/**
* @var \AppBundle\Entity\Address
*/
private $address;
/**
* Set address
*
* @param \AppBundle\Entity\Address $address
*
* @return User
*/
public function setAddress(\AppBundle\Entity\Address $address = null)
{
$this->address = $address;
return $this;
}
/**
* Get address
*
* @return \AppBundle\Entity\Address
*/
public function getAddress()
{
return $this->address;
}
}
и мой User.orm.yml файл:
AppBundle\Entity\User:
type: entity
table: user
repositoryClass: AppBundle\Repository\UserRepository
id:
id:
type: integer
id: true
generator:
strategy: AUTO
lifecycleCallbacks: { }
oneToOne:
address:
targetEntity: AppBundle\Entity\Address
cascade: ["persist", "remove"]
Я изменил имя таблицы fos_user. но это не сработало – Debreker
Я предполагаю, что вы отредактировали 'app/AppKernel.php', чтобы включить FOSUserBundle [как описано здесь] (http://symfony.com/doc/current/bundles/FOSUserBundle/index.html#step -2-включить-на-расслоение). В противном случае я не могу думать, что еще. Это должно быть довольно прямолинейно. –
Я увидел, что папка ** Resources ** была заглавная в вашем ответе. Ресурсов моей папки (в src/AppBundle) не было, после изменения этого проекта мой проект запущен и работает! Благодаря! – Debreker