Я не очень хорошо разбираюсь в настройках 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
чтобы это работало.