在这个问题中提到的 Symfony 代码库上,安装 FOSUserBundle 后,它在本地工作,但在远程服务器上它甚至无法引导,给出 HTTP 500 错误页面。
编辑:灾难似乎发生在以下行app_dev.php
:
$kernel = new AppKernel('dev', true);
在远程服务器上,我收到如下错误:
Fatal error: Class 'Symfony\Component\HttpFoundation\Request' not found in [docroot]/web/app.php on line 22
或 - 删除文档根目录下的所有内容,更新(composer update
和composer update -o
,根据此答案),然后部署:
Fatal error: Cannot redeclare class
Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorage in
[docroot]/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
on line 25
我清除了 Symfony 缓存,删除了app/cache/dev
和app/cache/prod/
目录,但没有运气。
我没有得到的另一件事:app/console cache:clear
远程给出了这个错误:
Fatal error: Cannot redeclare class
EnhancedProxy_72114c0f8683bcc2a66ceccb136abe5a78f8577e\__CG__\Acme\DemoBundle\Controller\SecuredController
in [docroot]/app/cache/de_/jms_diextra/proxies/Acme-DemoBundle-Controller-SecuredController.php
on line 28
顺便说一句,为什么要创建目录app/cache/de_
(除了dev
and prod
)?
为了完整起见,你可以在composer.json
这里找到我的。
可能是什么问题?本地和远程平台不同,但错误似乎与代码有关,而不是与服务器配置有关。
本地机器:
- Windows 7的
- Zend 服务器 CE
- 阿帕奇 2.2
- PHP 5.3.14(阿帕奇模块)
- MySQL 5.1
- 装甲运兵车
远程机器:
- Ubuntu 12.04
- 阿帕奇 2.2
- PHP 5.3.10 fpm (fastcgi)
- MySQL 5.5
- 装甲运兵车
有什么建议吗?甚至如何调试这个?我开始考虑放弃 Symfony :(