3

私はこれに対する答えをどこでも探してきました。

私は Laravel でアプリを構築しました - デプロイには Heroku を選択し、カスタム Procfile と httpd.conf を含めて、ドキュメント ルートを public に書き換えました。それはすべてうまくいきます。

ただし、アプリは依存関係をロードしていないため、ロード時に内部 500 エラーが表示されます。つまり、デプロイ時にコンポーザーが実行されません。

私の質問は、展開時に composer を実行するにはどうすればよいですか?

ps私はこの種のものに完全に慣れていないので、できるだけ詳しく教えてください.

私が見た唯一の可能な解決策はここにあります: http://bergie.iki.fi/blog/using_composer_to_manage_dependencies_in_heroku_php_apps/

しかし、これよりも良い方法があると確信しています。

4

2 に答える 2

3

以下を試してください

作曲家の修正

レポを生成して含める必要がありますcomposer.lockが、Laravel のデフォルトで.gitignoreは無視されますcomposer.lock

  • composer.lockから削除.gitignore
  • $ composer install

プロファイルを追加

Heroku は、Procfile. デフォルトのapache2プロセス ( を使用しない場合) はではなく をProcfile指しているため、 からサイトを提供するカスタムを作成する必要があります。web root/publicProcfile/public

  • 次の行を含む Procfile という名前のファイルを追加します。

    web: vendor/bin/heroku-php-apache2 public

コードを Heroku アプリにデプロイする

$ git push heroku master
于 2014-05-27T06:40:58.080 に答える
1

もう 1 つの原因として、Heroku がアプリを PHP アプリとして認識していないことが考えられます。たとえば、ルートに package.json が存在することが原因です。そのため、composer のインストールは行われません。

解決策は、ビルドパックを指定して、もう一度プッシュすることです。

heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php

参照: Heroku は私の Laravel アプリを PHP アプリとして認識せず、composer のインストールも行いません

于 2015-01-02T11:53:38.393 に答える