2015-12-03 55 views
1

所以我一直在關注如何做到這一點的教程。將Laravel 5部署到服務器問題

  1. 我壓縮了一切,但我的公用文件夾。
  2. 上傳,然後解壓縮/ www文件夾前的文件夾中的文件。
  3. 由於未上傳隱藏文件,因此已單獨上載.env文件。
  4. 把公用文件夾放到我的子域文件夾中。我編輯了index.php適當的去到正確的目錄。

現在我在網站上得到一個空白頁面。進入我的SSH我看到的文件包括工匠,但是當我做php工匠什麼也沒有發生。即使我做php工匠補鍋匠也沒有任何反應。

我不確定發生了什麼事情...什麼是錯的?

+0

你使用的是Apache還是nginx? – berkayk

回答

1

Laravel公用文件夾提供您網站的內容。整個框架和供應商目錄都在這條路徑後面。所以公共用戶無法訪問所有這些文件夾的主要安全框架。

這意味着在服務器上,您不會將整個框架上傳到public_html文件夾,並且不要將域指向laravel的公用文件夾,而無需設置正確的symlink

這一點可以通過在服務器中創建symlink來完成。例如,您可以編輯Linux/Windows中的主機文件並設置項目域。像homestead.app。然後在您的apache配置中,只需將此項目域設置爲其物理路徑即可。如下所示。

<VirtualHost *:80> 
ServerName homestead.app 
DocumentRoot /home/User/Development/homestead/public 
<Directory /> 
Require all granted 
Options Indexes FollowSymLinks Includes ExecCGI 
AllowOverride All 
</Directory> 
</VirtualHost> 

這樣你就可以訪問該項目在像homestead.app瀏覽器的詳細信息,檢查此link

現在希望它清楚。

+0

'中出現意外令牌附近的語法錯誤所以基本上,你說我應該在/ www目錄之前創建一個文件夾並將項目放置在那裏,然後爲兩個公用文件夾創建一個符號鏈接? –

+0

所以我得到了這個工作。我把該項目放在公共文件夾中,並切換/ public_html/public的網站的根目錄這是一個安全問題? 但在SSH中,我的PHP工匠不工作或激活任何東西! –

+1

你正在使用子域的權利?它非常簡單的設置子域名,然後將文件夾指向公開的那個。意味着你用'dev'創建了一個子域,然後把所有的框架上傳到它,在子域面板中設置文件夾路徑爲'dev/public'。一旦你使用SSH登錄,只需從dev裏面運行命令,而不是在公共內部。 –

0

我推薦將所有的代碼放在一起,然後在你的子域文件夾中創建一個到公用文件夾的sym鏈接。

+0

你是什麼意思?我不確定sym鏈接是什麼。 –

+0

我可以在2小時內給你一個具體的例子。您可以使用ln命令 – ajon

+0

不清楚in命令的含義。我得到了這個 -bash:在' –