仅在开发和生产服务器上出现Symfony异常(未找到类)

时间:2014-09-12 17:34:17

标签: php symfony exception laravel

我的Laravel 4项目仅在生产和测试服务器上出现以下错误。在我的本地机器上一切正常:

{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Intercom\\IntercomBasicAuthClient' not found","file":"\/www\/htdocs\/laravel\/app\/ACME\/Services\/IntercomService.php","line":26}}

我已经尝试了一切!我甚至删除了composer.lock文件和整个供应商目录,并通过composer install进行了全新安装。什么都没有帮助。

我跑了php artisan clear-compiledphp artisan dump-autoloadphp artisan optimize ......没有任何帮助:(

该课程位于正确的位置,并且在我的本地计算机上完美运行。 在IntercomService.php中也很好地引用了类,并使用了如下的use语句:

use Intercom\IntercomBasicAuthClient;

这是composer.json:

{ "name": "laravel/laravel", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "repositories": [ { "type": "vcs", "url": "https://github.com/intercom/intercom-php" } ], "require": { "laravel/framework": "4.2.*", "intercom/intercom-api-client": "dev-master" }, "autoload": { "classmap": [ "app/commands", "app/controllers", "app/database/migrations", "app/database/seeds", "app/tests/TestCase.php" ], "psr-0": { "ACME": "app" } }, "scripts": { "post-install-cmd": [ "php artisan optimize" ], "post-update-cmd": [ "php artisan clear-compiled", "php artisan optimize" ], "post-create-project-cmd": [ "php artisan key:generate" ] }, "config": { "preferred-install": "dist" }, "minimum-stability": "stable" }

1 个答案:

答案 0 :(得分:1)

我找到了解决方案!问题出在Intercom PHP Package中。在包的src /文件夹中,他们用小写字母写了对讲命名空间的文件夹,如下所示:

src/intercom/...

由于intercom与命名空间Intercom不匹配,所以它没有用!

然而,在我的本地Mac上确实有用,因为我觉得Mac不区分大小写并且不关心?!

我一直把头发拉过来,希望这有助于其他人解决这个问题...

确保您的命名空间与其所在的文件夹大小写匹配。