2017-09-02 112 views
1

我正在从共享虚拟主机迁移到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

  1. 配置composer.json拥有的Heroku会把除了PHP在public_html/vendor,并把PHP到根目录vendor,或者
  2. 访问文件从内部我的代码允许我包含autoload.php

回答

1

好的,事实证明,这是一个相对简单的修复,我只是想出了自己。如果其他人碰巧犯了同样的错误,我会在这里发布。

如果您在composer.json改变vendor-dir,你也需要改变Procfile

web: vendor/bin/heroku-php-apache2 public_html/

web: public_html/vendor/bin/heroku-php-apache2 public_html/

相关问题