把 Laravel 專案放到 Heroku
1. 在你的專案目錄下建立 Procfile,寫入以下資訊
web: vendor/bin/heroku-php-apache2 public
2. 移除 .gitignore 的 composer.lock
做完 1, 2,然後再 commit 上去 (git push heroku master 之類的),如果沒有 Procfile 他可能不知道 apache2 要指到 public 資料夾,除非你有變動過 path 之類的。
如果沒有移除 .gitignore 的 composer.lock,你會出現這樣的 Error:
假設你一開始就沒有做 1, 2 然後已經 commit 上去過了,好像會一直出錯,我是直接把 app delete 直接開新的來處理,重新走一遍 git init -> git add -> git commit -> git push 的流程。
順帶一提我只是暫時 commit 很小型的 demo 專案以便用來給客戶審查一下,連 Database 都沒用到,不過你可以參考下面的連結。
參考連結:
* Installing a Laravel app on Heroku
* Getting started with Laravel and PHP on Heroku
如果沒有移除 .gitignore 的 composer.lock,你會出現這樣的 Error:
remote: -----> PHP app detected
remote:
remote: ! ERROR: Your composer.json has dependencies, but no composer.lock
remote: was found, check it into your repository alongside composer.json!
remote: ! Push rejected, failed to compile PHP app
remote:
remote: Verifying deploy....
remote:
remote: ! Push rejected to ls-php-demo.
remote:
To https://git.heroku.com/ls-php-demo.git
! [remote rejected] master -> master (pre-receive hook declined)
remote:
remote: ! ERROR: Your composer.json has dependencies, but no composer.lock
remote: was found, check it into your repository alongside composer.json!
remote: ! Push rejected, failed to compile PHP app
remote:
remote: Verifying deploy....
remote:
remote: ! Push rejected to ls-php-demo.
remote:
To https://git.heroku.com/ls-php-demo.git
! [remote rejected] master -> master (pre-receive hook declined)
假設你一開始就沒有做 1, 2 然後已經 commit 上去過了,好像會一直出錯,我是直接把 app delete 直接開新的來處理,重新走一遍 git init -> git add -> git commit -> git push 的流程。
順帶一提我只是暫時 commit 很小型的 demo 專案以便用來給客戶審查一下,連 Database 都沒用到,不過你可以參考下面的連結。
參考連結:
* Installing a Laravel app on Heroku
* Getting started with Laravel and PHP on Heroku
沒有留言:
張貼留言
若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD