💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Mehrjoo
مرا بخاطر بسپار کار نمی‌کنه
جامعه لاراول ایجاد شده در ۲۶ شهریور ۱۴۰۳

سلام . من از لاراول 11 استفاده میکنم . فیلد مرا بخاطر بسپار توی دیتابیس داره ذخیره میشه ولی آخر ویدئو گفتید که اگ کانفیگ فایل سشن رو تغییر بدید و این تیک رو نزنید باز بسته مرورگر کلا کاربر باید از اول لاگین کنه و اگ تیک بزنه حتی اگ مرورگر ببنده و دوباره باز کنه تا زمانی که شما تعیین کردید کاربر رو لاگین نگه میداره ولی برای من فرق نمی‌کنه که کد زیر رو دست یا غلط بزارم در هر صورت وقتی مرورگر رو میبندم باز باید از اول لاگین کنم . با اینکه مرابخاطر بسپار در دیتابیس ذخیره میشه .

'lifetime' => env('SESSION_LIFETIME', 60),
'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false),
یا
'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', true),

در فایل دات انو هم

SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
فقط 120 رو به 60 تغییر دادم

سلام،

چند موردو میارم بررسی کن...

1. اول از همه مطمئن شو که وقتی گزینه "مرا به خاطر بسپار" رو تیک می‌زنی، فیلد remember_token در جدول users به درستی پر میشه. می‌تونی با اجرای این کوئری چک کنی:

SELECT name, email, remember_token FROM users WHERE email = 'zzz';

2. در مورد last_activity توی جدول سشن چی؟
با این کوئری می‌تونی آخرین فعالیت کاربر رو ببینی:

SELECT FROM_UNIXTIME(last_activity) FROM sessions;

3. می‌تونید با متد viaRemember بفهمید که کاربر با کوکی "مرا به خاطر بسپار" وارد شده یا نه:

if (Auth::viaRemember()) {
    //
}

4. مقدار expire_on_close رو در فایل config/session.php به false تنظیم کن:

'expire_on_close' => false,

این کار باعث میشه که سشن با بستن مرورگر منقضی نشه.

5. اگه سایتت روی HTTPS نیست، مطمئن شو که مقدار SESSION_SECURE_COOKIE در فایل .env روی false تنظیم شده باشه:

SESSION_SECURE_COOKIE=false

چون اگه این مقدار روی true باشه و سایتت HTTPS نباشه، کوکی‌ها ست نمی‌شن.

6. بعد از انجام تغییرات در فایل‌های تنظیمات، حتماً دستورات زیر رو اجرا کن تا کش لاراول پاک بشه:

php artisan config:cache
php artisan cache:clear

7. فایل لاگ لاراول (storage/logs/laravel.log) رو بررسی کن تا ببینی آیا اروری ثبت شده یا نه.

8. به صورت موقت، SESSION_DRIVER رو به file تغییر بده و ببین آیا مشکل حل میشه یا نه:

SESSION_DRIVER=file
محسن موحد ۲۶ شهریور ۱۴۰۳، ۲۱:۵۹