2014-02-25 61 views
11

我對用於部署Laravel應用程序的方式有疑問。Laravel 4和使用FTP部署應用程序的方式

我已經使用Composer在本地開發了我的應用程序。

現在,我準備將此應用程序部署到生產環境。

我已經(目前)僅使用FTP生產服務器..

我看了這個論壇: Laravel Forum

,但我認爲這是不正確的..

我創建了一個目錄我的服務器上,例如:http://wwww.myserver.com/app

在我複製(通過FTP)我所有的文件/ app目錄...

但這不行。我必須改變一些東西?

+1

是否有錯誤訊息?您可能需要訪問http://wwww.myserver.com/app/public。 理想情況下,您應該在可公開訪問的文件夾之外創建應用程序文件夾,然後將「公開」上傳到可訪問的文件夾,通常稱爲「public_html」或「httpdocs」。然後您可能需要編輯index.php文件以指向正確的文件夾。 – beech

回答

17

比方說,您的文檔。根文件夾是WWW

  1. 創建你的共享主機(外WWW)的一個文件夾,名爲laravel並上傳您的應用程序結構到這個文件夾,除了公共文件夾。
  2. 將公用文件夾的內容上傳到www文件夾中
  3. 調整bootstrap/paths.php文件中的路徑結構。
  4. 還要更改www/index.php文件中的路徑以找到新的laravel文件夾。
  5. 完成。

有下面的文章中2個解決方案(和我的一個在多個,以及詳細的),以及:我沒有部署我Laravel 4應用程序的過程中昨天提出

http://driesvints.com/blog/laravel-4-on-a-shared-host

+0

如果OP使用SQLite數據庫怎麼辦?有沒有其他的做法可以防止文件覆蓋? – Burimi

0

你試過http://wwww.myserver.com/app/public

如果你沒有配置你的bootstrap/paths.php和public/index.php,你的站點應該通過http://wwww.myserver.com/app/public打開。但你還必須在app/config/database.php中配置數據庫路徑和憑證

在正常的設置中,只有你的Laravel項目的「公共」文件夾的內容應該放在你的「app」文件夾中。所有其他文件都保存在服務器根目錄下的單獨文件夾中。

本文介紹如何配置路徑:http://myquickfix.co.uk/2013/08/hosting-laravel-4-on-cpanel-type-hosting-public_html/

0

Sas Sam並且不需要安裝Composer - 但我可以明白爲什麼人們會這樣做,因爲使用ftp,使用Filezilla,我遇到了超過3000個文件的問題,它錯過了 - 或者更確切地說複製了「空文件「對於四個php文件,其中包括Illuminate類(RedirectRequests.php)的一個主要類,導致應用程序在早期拋出錯誤。

當我意識到該文件爲空時,我花了幾個小時在Filezilla中檢查我創建的Laravel文件夾中的每個文件(除php文件外,還有很多空文件都是導致問題的文件)將它們與我的本地安裝進行交叉引用,將代碼粘貼到總共四個「丟失」的PHP文件中,現在它似乎工作正常。

因此,也許在服務器上直接安裝Composer,然後重新安裝相同版本的Laravel可能會避免這種情況,我一直在使用GoDaddy獲取SSH訪問我的項目的問題,相反,只需要細細梳理我的項目。只要你有所有的文件,通過bootstrap.paths和public index.php文件正確引用,它應該工作。