2017-09-02 110 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/

相關問題