2016-05-12 63 views
1

我在同一個域上的子文件夾上運行了幾個Laravel 5項目。在同一個域上的多個Laravel 5項目

每個Laravel應用程序正在生成它自己的會話cookie,有時它會生成很多以至於我們在整個域中都會出現http 400錯誤。

我應該在所有這些項目之間共享存儲文件夾,還是有任何設置可以防止這種情況發生?

+0

你不能只使用一個然後使用子域路由和使用每個站點等軟件包系統等?有點過時,但可以給你一個想法? https://laracasts.com/discuss/channels/tips/developing-your-packages-in-laravel-5 –

+0

我不能,我們真的需要在一個子文件夾上的每個項目。 –

+0

對不起,我閱讀subdomainnot文件夾?對不起 –

回答

0

我認爲你需要爲每個子文件夾的唯一安全密鑰,並添加一個特殊的變量對每個子文件夾去改變生成的cookie

0

,您應該設置家園。這是非常容易使用。 https://laravel.com/docs/5.2/homestead您可以設置多個域,例如:domain1.dev,domain2.dev。對於每個域,您都會擁有自己的Cookie。

+0

我們已經在生產,我們需要多個子文件夾上的多個項目。 –

3

每個Laravel安裝應位於其自己的目錄中。

然後,需要定義一個別名,將域子文件夾指向「子」Laravel文件夾。

例中的Apache http.conf

<VirtualHost some.domain:80> 

    ServerName some.domain 

    ## Path to laravel domain 
    DocumentRoot "/path/to/some/domain/laravel-1/public" 
    <Directory "/path/to/some/domain/laravel-1/public"> 
     AllowOverride All 
    </Directory> 

    ## Path to laravel sub-folder 
    Alias /laravel-2-path-alias/ "/path/to/some/domain/laravel-2/public" 
    <Directory "/path/to/some/domain/laravel-2/public"> 
     AllowOverride All 
    </Directory> 

</VirtualHost> 

會話cookie,檢查config\session.php在這兩個安裝。

根安裝config\session.php

'cookie' => 'a_unique_name' 
'path' => '/', 

子文件夾安裝config\session.php

'cookie' => 'another_unique_name' 
'path' => '/path/to/sub/folder', 

這應該確保每個安裝書寫自己獨特的會話cookie。由子應用程序生成的任何Cookie不應該干擾父母的這些。

+0

我們已經完成了我們的項目,問題是關於會話cookie。 –

+0

感謝噸,我的代碼保存了我的一天:) – stackMonk

+0

我可以分享同一屆會議嗎? – Leoh

相關問題