Symfony2 - Class XXX 未找到

Symfony2 - Class XXX not found

我已经将 Symfony 应用程序部署到 one.com 服务器。我编写了一个通过 SwiftMailer 发送电子邮件的邮件服务。

现在,由于 one.com 不允许 phar 扩展,因此无法通过 ssh 更新 composer。所以我用

在本地生成了 classmap
composer update -o

每当我尝试获取邮件服务时,应用程序都会抛出错误:

Fatal error: Class 'Stocksolutions\ShopBundle\DependencyInjection\Mail' not found in /customers/4/b/b/stocksolutions.be/httpd.www/releases/20150204201140/app/cache/dev/appDevDebugProjectContainer.php on line 3602

我搜索了 composer classmap,没有找到的 class 在里面:

'StockSolutions\ShopBundle\DependencyInjection\Mail' => $baseDir . '/src/StockSolutions/ShopBundle/DependencyInjection/Mail.php'

此外,我还可以在容器中获取其他服务,f.e。那些来自 FOSUserBundle,但获取我的自定义服务会引发错误。另外,我在本地测试时没有遇到这些错误..

有什么想法吗?

区分大小写的问题

你的错误:

Fatal error: Class 'Stocksolutions\ShopBundle\DependencyInjection\Mail' not found

PSR Stocksolutions 命名空间中的小写字母 s 强制搜索文件 /src/Stock**s**olutions/ShopBundle/DependencyInjection/Mail.php,但存在 /src/Stock**S**olutions/ShopBundle/DependencyInjection/Mail.php.

在本地系统上可能Windows,其中path/filenames不区分大小写,不会出现错误。

P.S。 class 命名空间中的拼写错误很可能出现在捆绑服务描述中 (services.yml/services.xml)。