使用php/silex"未找到类"

use*_*408 2 php apache amazon-ec2 autoload silex

我在Mac上使用XAMPP设置了一个本地Silex项目.一切正常.现在我将文件上传到我的Amazon ec2服务器并尝试运行它.我总是得到php errormessage:

"Fatal error: Class 'Silex\Application' not found in /opt/bitnami/apps/..."
Run Code Online (Sandbox Code Playgroud)

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

<?php
require_once __DIR__.'/../vendor/autoload.php';

$app = new Silex\Application();
$app['debug'] = true;
Run Code Online (Sandbox Code Playgroud)

任何人都有一个线索如何解决?哪里可能有问题?

非常感谢!干杯

igo*_*orw 7

怀疑,您正在使用某种基于git的部署过程.

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

如果你真的想,你可以应用运行的修复composer install--prefer-dist标志,这将迫使从ZIP压缩文件安装硅石,允许添加到您的混帐回购协议的目录.

但我会说你不应该让你的供应商进入版本控制.这篇文章也包含在作曲家常见问题解答中:

我建议vendor您在CI和部署过程中添加.gitignore并运行composer install.