2016-05-10 2 views
0

У меня есть приложение symfony3, в котором используются 2 из моих других пакетов symfony, которые я хочу изменить в ходе, без повторного, нажимающего и обновляющего композитор.Исключение сопоставления в символическом пакете поставщика

Я скачал их composer install поэтому структура выглядит

app/vendor/ 
| 
+--company/ 
    | 
    +--bundle1 
    | 
    +--bundle2 

Все работало идеально.

чем я скачал репозитории и поставить на тот же уровень, как мой основной проект так у меня есть:

projects/ 
| 
+---app/ 
| 
+---bundle1/ 
| 
+---bundle2/ 

Когда я попытался симлинки его в папку поставщика

cd project/app/vendor/company 
rm -rf bundle1 
ln -s project/bundle1 bundle1 

Symfony дал мне следующему ошибка:

MappingException in MappingException.php line 96: 
Class 'Company\Bundle1\Entity\User' does not exist 

THe Проблема возникает из-за конфигурации FOSUserBundle

fos_user: 
    db_driver:    orm # Required 
    firewall_name:   main # Required 
    user_class:    Company\Bundle1\Entity\User # Required 

Использование Symfony3 Я пытался сделать композитор дамп-автозагрузку без успеха - та же ошибка.

просмотрел theese тем (и больше здесь на стеке):

http://www.askjong.com/howto/use-local-repository-with-composer https://github.com/composer/composer/issues/1299

конфигурация Мой Apache2.4 сервер имеет добавлена ​​опция "FollowSymLinks". Пространство имен в порядке - оно работает, когда оно установлено нормально.

Спасибо за любую помощь :)

ответ

0

Ок, одна вещь, чтобы помнить - если у вас есть такая странная проблема - он должен сделать что-то с:

  1. кэш
  2. конфигурации
  3. файл разрешений

В моем случае это были разрешения - мой связанный пакет1 Entity d каталоги не имели права выполнять.

chmod +x -R ./Entity 

решить проблему, глупо меня