1

我正在尝试部署我的 Slim 应用程序。我正在使用SlimController;Slim 和 SlimController 都加载在composer.json

{
  "require": {
    "slim/slim": "2.*",
    "slimcontroller/slimcontroller": "dev-master"
  }
}

我已经在我的 VPS 上复制了我的 localhost 环境:Ubuntu 13.04、Apache 2.4、PHP 5.5.3。我用 git 部署到一个裸仓库。一切都在 localhost 上运行,通过推送到 repo 并运行post-receivegit hook 将文件移动到公共 Apache 文件夹中,一切都在服务器上运行良好:

#!/bin/bash
export GIT_WORK_TREE=/var/www/site
git checkout -f dev

当我用 Composer 安装 SlimController 并再次推送到 repo 时,我可以看到文件夹vendor/slimcontroller/slimcontroller已创建,但它是空的!它在我的本地主机上有所有文件,并且应用程序可以运行,但在服务器上它什么都没有,并且应用程序抛出异常,因为它找不到 SlimController 类。

当我创建裸仓库然后运行这些命令时,我确保该文件夹具有所有必要的权限(我的用户已经是拥有 Apache 的 www-data 组的一部分):

chown -R www-data:www-data /var/www/site
chmod -R g+rw /var/www/site

我不知道发生了什么事。当我提交并推送时,一切看起来都不错,但由于某种原因,该文件夹最终为空。我尝试使用 Composer 添加其他包,但同样的问题,创建了路径,但服务器上的文件夹为空。composer install我从头开始尝试了很多次,虽然Slim文件夹被正确复制,但其他文件夹却没有。我一无所知...任何想法如何解决它?

4

0 回答 0