我在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和部署过程的一部分。