Slim アプリをデプロイしようとしています。SlimControllerを使用しています。Slim と SlimController の両方がロードされcomposer.json
ます:
{
"require": {
"slim/slim": "2.*",
"slimcontroller/slimcontroller": "dev-master"
}
}
VPS でローカルホスト環境を複製しました: Ubuntu 13.04、Apache 2.4、PHP 5.5.3。git を使用して裸のリポジトリにデプロイします。すべてが localhost で機能し、リポジトリにプッシュし、post-receive
git フックを実行してファイルをパブリック Apache フォルダーに移動することで、すべてがサーバーで正常に機能していました。
#!/bin/bash
export GIT_WORK_TREE=/var/www/site
git checkout -f dev
Composer で SlimController をインストールし、再度リポジトリにプッシュすると、フォルダー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
フォルダーは正しくコピーされますが、他のフォルダーは正しくコピーされません。私は無知です...それを修正する方法はありますか?