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

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

我对 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

我想我错过了一些明显的东西。但我不知道是什么。 谢谢

您是否尝试删除您的 procfile 并添加基础 composer.json

您的 composer.json 可能将 bin-dir 设置重新定义为 vendor/bin 以外的设置。 运行 composer config bin-dir 看看它是什么(或者看看你的 composer.jsonconfig 部分,并在你的 [=18= 中调整路径到 heroku-php-apache2 ]相应地。

您也可以只更改 Procfile 以自动读取正确的值:

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

https://devcenter.heroku.com/articles/php-support#web-servers 的注释也提到了这个 bin-dir 警告。

感谢大卫,这是答案:

您使用的是旧版本的 buildpack - 您的应用已 BUILDPACK_URL 设置为 https://github.com/heroku/heroku-buildpack-php.git#legacy。 运行 heroku config:unset BUILDPACK_URL 并推送一个空的更改(git commit -m "new buildpack" --allow-empty 会做)。

因为我 Copy/pasted 来自旧项目(> 1 年)的旧变量使用 boot.sh

有 BUILDPACK_URL 是不好的 URL。现在不需要放了。

谢谢 dzuelke!

除了完全按照此处描述的步骤操作之外:

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

我不得不从 gitignore 中删除 .env 并设置

APP_KEY 使用

生成

php artisan key:generate --show

到.env

为了让它工作。

我的解决方案是将下面的代码添加到 composer.json

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

然后 运行 composer update.