2015-01-28 16:40
浏览 54

Heroku PHP应用程序崩溃bash:vendor / bin / heroku-php-apache2:没有这样的文件或目录

I'm not very good with Heroku setup

I'm trying to put online an app in PHP (with Code Igniter) but it doesn't work well. Here is the error :

Heroku PHP app crash bash: vendor/bin/heroku-php-apache2: No such file or directory 

index.php is in root folder. Vendor directory also in root folder composer made his job In procfile :

web: vendor/bin/heroku-php-apache2

And in my index.php:


In the past I used the boot.sh way, so I'm not comfortable with the new way. I followed this tutorial https://devcenter.heroku.com/articles/getting-started-with-php#introduction

I think I missed something obvious. But I don't know what. Thank you

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • duancan65665
    duancan65665 2015-01-28 17:51

    Your composer.json likely re-defines the bin-dir setting to something other than vendor/bin. Run composer config bin-dir to see what it is (or look at your composer.json's config section, and adjust the path to heroku-php-apache2 in your Procfile accordingly.

    You can also just change the Procfile to automatically read the right value:

    web: $(composer config bin-dir)/heroku-php-apache2

    The notes at https://devcenter.heroku.com/articles/php-support#web-servers also mention this bin-dir caveat.

    点赞 评论
  • dongxiatuo9827
    dongxiatuo9827 2015-01-28 17:06

    Did you try to remove your procfile and add the base composer.json

    点赞 评论
  • dongyuqi3808
    dongyuqi3808 2015-01-28 18:30

    Thanks To David, here is the answer :

    You're using the legacy version of the buildpack - your app has BUILDPACK_URL set to https://github.com/heroku/heroku-buildpack-php.git#legacy. Run heroku config:unset BUILDPACK_URL and push an empty change (git commit -m "new buildpack" --allow-empty will do).

    Because I Copy/pasted old vars from an old project (> 1 year) using boot.sh

    There was BUILDPACK_URL which was the bad URL. No need to put it now.

    Thanks dzuelke !

    点赞 评论
  • dragon321723
    dragon321723 2016-01-05 06:59

    In addition to following the steps exactly as described here :


    I had to remove .env from gitignore and also set

    APP_KEY generated using

    php artisan key:generate --show

    to .env

    in order for this to work.

    点赞 评论
  • dongli4711
    dongli4711 2017-09-03 11:32

    My solution was to add the code below to composer.json.

    "require-dev": {
        "heroku/heroku-buildpack-php" : "dev-master"

    Then run composer update.

    点赞 评论