符号链接的供应商包出现映射异常


Mapping Exception on symlinked vendor package

我得到了symfony3应用程序,它使用了我想要在运行时修改的两个其他symfony包,而无需反复提交、推送和更新composer。

我已经通过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

由于FOSUserBundle配置而出现问题

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

使用Symfony3我试着做composer转储自动加载,但并没有成功——同样的错误。

浏览了这些主题(以及堆栈中的更多内容):

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

我的Apache2.4服务器配置添加了"FollowSymLinks"选项。命名空间是可以的-它在正常安装时工作。

感谢您的帮助:)

好的,有一件事需要记住——如果你有这样奇怪的问题——它必须与有关

  1. 高速缓存
  2. 配置
  3. 文件权限

在我的情况下,这是权限问题——我链接的bundle1Entity目录无权执行。

chmod +x -R ./Entity

解决了问题,愚蠢的我