";未找到类“;使用php/silex


"Class not found" using php/silex

我在Mac上使用XAMPP在本地设置了一个Silex项目。一切都很好。现在我把文件上传到我的Amazonec2服务器并尝试运行它。我总是收到php错误消息:

"Fatal error: Class 'Silex'Application' not found in /opt/bitnami/apps/..."

我正在使用Composer来处理依赖关系。我的文件的第一行看起来像这样:

<?php
require_once __DIR__.'/../vendor/autoload.php';
$app = new Silex'Application();
$app['debug'] = true;

有人知道如何解决这个问题吗?哪里会有问题?

非常感谢!干杯

正如怀疑的那样,您正在使用某种基于git的部署过程。

目前还没有标记的稳定版本的silex(编辑:截至目前,有)。因此,composer将从源代码安装它,从而将silex github存储库克隆到vendor/silex/silex中。由于该文件夹本身就是git repo,因此无法将这些文件添加到主repo中。这意味着在您的服务器上vendor/silex/silex目录根本不存在。

如果真的想要,您可以应用带有--prefer-dist标志的运行composer install的修复程序,这将强制从zip存档安装silex,从而允许将目录添加到您的git repo中。

但我想说的是,你不应该让你的供应商参与版本控制。作曲家常见问题解答:中的这个条目也涵盖了这一点

  • 我应该在供应商目录中提交依赖项吗

我建议将vendor添加到.gitignore中,并将运行composer install作为CI和部署过程的一部分。