Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 281
Max Avatar asked Jan 28 '15 16:01

Max


3 Answers

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 !

like image 185
Max Avatar answered Nov 16 '22 13:11

Max


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.

like image 26
dzuelke Avatar answered Nov 16 '22 14:11

dzuelke


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

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

Then run composer update.

like image 5
yoeriboven Avatar answered Nov 16 '22 12:11

yoeriboven