Heroku上的Composer.json供应商文件夹
问题描述:
我正在从共享虚拟主机迁移到Heroku,无法弄清楚如何正确使用用户Composer。Heroku上的Composer.json供应商文件夹
我有我的应用程序指向public_html
文件夹,其中composer.json
文件位于此文件夹的根目录中。这会在根文件夹中生成一个vendor
文件夹,这是因为我试图在我的代码中包含autoload.php文件(例如require_once('../vendor/autoload.php')
)时无法访问(出于某些原因)。
我对此的解决方案是将composer.json
转换为public_html
,但是这导致了Heroku没有找到它的问题,所以我将其移回。然后,我将composer.json
中的供应商目录更改为指向public_html/vendor
。
这产生了预期的效果,除了现在我的应用程序不能运行,因为它找不到PHP,大概是与供应商的新位置有关。
有没有办法要么:以上public_html
- 配置composer.json拥有的Heroku会把除了PHP在
public_html/vendor
,并把PHP到根目录vendor
,或者 - 访问文件从内部我的代码允许我包含
autoload.php
?
答
好的,事实证明,这是一个相对简单的修复,我只是想出了自己。如果其他人碰巧犯了同样的错误,我会在这里发布。
如果您在composer.json
改变vendor-dir
,你也需要改变Procfile
从
web: vendor/bin/heroku-php-apache2 public_html/
到
web: public_html/vendor/bin/heroku-php-apache2 public_html/