2013-06-04 41 views
1

我一直使用這個令人驚歎的Laravel4框架提供的會話後端驅動程序。 官方文檔說:Laravel 4本地會話驅動程序如何工作?

默認情況下,Laravel配置爲使用本機會話驅動程序,這將適用於大多數應用程序。

事實上,我保留默認的驅動程序,它與我的所有會話事情都非常有效。所以,我沒有任何麻煩地發佈我的應用程序。
我需要了解有關本機驅動程序的「魔術」,才能與所有其他可用選項進行比較。

所以我的問題是: Laravel 4本機會話驅動程序的工作原理是什麼?

任何幫助表示讚賞。

+0

像本地的PHP會話:在瀏覽器中的cookie,它用來訪問服務器的會話數據存儲會話ID文件系統中的臨時會話文件。當PHP會話處於活動狀態時,它會阻止其他嘗試訪問同一個會話單元(這個會話單元完成)(會話數據無法使用異步Ajax)。 –

回答

3

使用本機驅動程序的真正好處是它不需要任何額外的設置。如果您在服務器上安裝了PHP,並且您授予/app/storage/sessions文件夾正確的權限,它將會正常工作。

您不需要正確配置數據庫,也不需要安裝像redis這樣更高級的東西(儘管這兩種驅動程序都是開箱即用的)。

另外請注意,它沒有使用cookie來存儲你的會話數據(不過,通過將驅動程序更改爲cookie也是一種選擇,它使用cookie來跟蹤你的會話標識 - 儘管所有的會話司機做

+0

很好的解釋,謝謝。 –

0

這正是名稱所說:) 本地會話驅動程序正在使用本機php會話存儲(cookie)機制 - laravel正在使用laravel/vendor/symfony/http-foundation\Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php

1

雖然這個問題是很久以前的關閉,這個職位似乎與「laravel會議」關鍵詞高排名

讓我提醒別人的一兩件事:。

  • Laravel 4.0使用'原生'驅動程序 - 會話將由內部PHP會話工具處理。

  • Laravel 4.1 & 4.2用途 '文件' 驅動程序 - 會話將被存儲在app /存儲/會話。不再支持「本地」驅動程序。(你不能選擇它。)

所以,如果你想使用PHP的本地會話,讓我們說「session.upload_progress」功能,你只要在session_start(),然後使用原來的$ _SESSION。

退房的官方文檔:

http://laravel.com/docs/4.0/session

http://laravel.com/docs/4.1/session

http://laravel.com/docs/4.2/session

+0

順便說一下,'session.upload_progress'很難配置。如果你有任何問題,它應該是本地PHP問題,而不是Laravel問題。 –

相關問題