Search code examples
phpherokucodeigniter-2

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


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:

require('vendor/autoload.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


Solution

  • 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.