में सत्र जारी नहीं है मैं एक परियोजना के लिए लुमेन (लार्वेल द्वारा) माइक्रो-फ्रेमवर्क का उपयोग कर रहा हूं, और मुझे सत्रों में कुछ परेशानी हो रही है। मैं अभी कार्यान्वयन का परीक्षण कर रहा हूं, लेकिन मुझे जिस समस्या का सामना करना पड़ रहा है वह यह है कि जब मैं एक सत्र चर सेट करता हूं और फिर पृष्ठ को रीफ्रेश करता हूं, तो चर अब सेट नहीं होता है।लुमेन PHP फ्रेमवर्क
मेरी .env फ़ाइल में मेरे पास है:
SESSION_DRIVER=cookie
और मुझे पता है यह उठाया जा रहा है कि, क्योंकि जब मैं इसे बदल यह एक त्रुटि फेंकता है (क्योंकि मैं memcached है सेट नहीं करते memcached करने के लिए)।
मैं भी मिडलवेयर सक्रिय कर दिया है:
$app->middleware([
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
]);
तब मेरे नियंत्रक में मेरे पास है:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class SessionController extends Controller
{
public function index(Request $request)
{
$request->session()->put('email', '[email protected]');
$request->session()->save(); // Not sure if this is required
var_dump($request->session()->get('email'));
exit;
return view('session.index', ['test' => $value]);
}
}
मूल्य जब मैं पृष्ठ लोड सेट है:
string(13) "[email protected]"
लेकिन फिर जब मैं चर सेट करने वाली रेखाओं पर टिप्पणी करता हूं, और फिर मैं पृष्ठ को रीफ्रेश करता हूं, मान शून्य है:
// $request->session()->put('email', '[email protected]');
// $request->session()->save();
var_dump($request->session()->get('email'));
exit;
एक एकल कुकी ब्राउज़र में स्थापित किया जा रहा है, लेकिन यह सत्र चर के लिए होने के लिए प्रकट नहीं होता है:
laravel_session 2ecef0103418ca82d068ec6a6c6fbec388af9b9e localhost / 2015-06-22T14:59:29.856Z 55 ✓
संपादित करें: कुकी वास्तव में अगर मैं के रूप में SESSION_DRIVER सेट सेट कर दिया जाता कुकी - चाहे मैं वास्तव में सत्र चर सेट करता हूं या नहीं।
मुझे यकीन नहीं है कि मैं यहां गलत कहां जा रहा हूं, और मुझे दस्तावेज़ीकरण बहुत व्यापक नहीं मिला है।
धन्यवाद
कुकीज़ एन्क्रिप्ट की जाएगी इसलिए कोई सही कुकी नहीं है या नहीं, तो कोई जानकारी नहीं है। कृपया सुनिश्चित करें कि वास्तव में आपके लिए ठीक से काम करने के लिए कुकीज़ सक्षम हैं। भरोसा करना भी एक अच्छी बात नहीं है और यदि संभव हो तो आपको वास्तव में फ़ाइल ड्राइवर का उपयोग करना चाहिए। – user3158900
इसी तरह के मुद्दों में भी चल रहा है। मेरे मामले में, कभी-कभी यह सत्र मान सेट करता है और मैं इसे पुनर्प्राप्त कर सकता हूं लेकिन फिर मैं सत्र मान को अपडेट नहीं कर सकता या इसे अनसेट नहीं कर सकता। मैं फाइल सत्र ड्राइवर का उपयोग कर रहा हूँ। – kalenjordan
वह कुकी हमेशा सेट होती है और केवल 55 बाइट्स होती है। अगर यह एन्क्रिप्टेड सत्र डेटा था, तो मुझे लगता है कि यह लंबा होगा और हेक्साडेसिमल संख्या की तरह नहीं दिखता है। कुकी मानों को मनमाने ढंग से बाइट्स की अनुमति नहीं है (देखें [यह] (http://stackoverflow.com/questions/1969232/allowed-characters-in-cookies)) तो आपको इसे एन्कोड करना होगा। यदि आप एन्क्रिप्टेड, धारावाहिक सरणी को बेस 64 एन्कोड करते हैं, तो यह मेरे लिए 64 बाइट्स जितना छोटा हो सकता है। – jeteon