Heroku PHP crash bash: поставщик / bin / heroku-php-apache2: нет такого файла или каталога

Я не очень хорошо разбираюсь в настройках Heroku

Я пытаюсь установить онлайн-приложение на PHP (с помощью Code Igniter), но он не работает. Вот ошибка:

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

index.php находится в корневой папке. Каталог поставщика также в корневой папке композитор сделал свою работу В procfile:

 web: vendor/bin/heroku-php-apache2 

И в моем index.php:

 require('vendor/autoload.php'); 

Раньше я использовал путь boot.sh, поэтому мне не нравится новый способ. Я выполнил этот урок https://devcenter.heroku.com/articles/getting-started-with-php#introduction

Кажется, я пропустил что-то очевидное. Но я не знаю, что. спасибо

Ваш composer.json скорее всего, переопределяет параметр bin-dir для чего-то другого, кроме vendor/bin . Запустите composer config bin-dir чтобы узнать, что это (или посмотрите в разделе config вашего composer.json , и соответствующим образом настройте путь к heroku-php-apache2 в вашем Procfile .

Вы также можете просто изменить Procfile для автоматического считывания правильного значения:

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

В примечаниях к https://devcenter.heroku.com/articles/php-support#web-servers также упоминается это предостережение об использовании bin-dir .

Моим решением было добавить код ниже в composer.json .

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

Затем запустите composer update .

Вы пытались удалить свой procfile и добавить базовый композитор.json

Спасибо Дэвиду, вот ответ:

Вы используете устаревшую версию buildpack – ваше приложение имеет BUILDPACK_URL, установленное на https://github.com/heroku/heroku-buildpack-php.git#legacy . Запустите конфигурацию heroku: не удалите BUILDPACK_URL и нажмите пустую замену (git commit -m «new buildpack» – будет пустое – пустое).

Потому что я копировал / вставлял старые vars из старого проекта (> 1 год), используя boot.sh

Был BUILDPACK_URL, который был плохим URL-адресом. Не нужно сейчас это ставить.

Спасибо, дзуэлке!

В дополнение к следующим шагам, как описано здесь:

https://devcenter.heroku.com/articles/getting-started-with-laravel

Мне пришлось удалить .env из gitignore, а также установить

APP_KEY сгенерирован с использованием

ключ php artisan: сгенерируйте –show

в .env

чтобы это работало.