আমি কীভাবে কুকিটির জীবনকাল সেট করব?


10

আমার ডি 8 ইভেন্টে কুকির আজীবন সেট করতে আমার সমস্যা হচ্ছে। আমি এটি শূন্যে সেট করতে চাই যাতে ব্যবহারকারীর লগ-অফ করে ব্রাউজারটি বন্ধ করে দেওয়া হয়।

আমি ini_set('session.cookie_lifetime', 0);সাইট / ডিফল্ট / সেটিংস.এফপি ফাইলটিতে যুক্ত করেছি। ফাইলটিতে আগের কোনও কুকি_ লাইফটাইম রেফারেন্স ছিল না। আমি লাইন যুক্ত করেছি। আমি ড্রুপাল ক্যাশেও সাফ করে দিয়েছি এবং আমার ক্রোম ক্যাশে সাফ করেছি। দুঃখের বিষয়, এটি সম্মান করা হচ্ছে না। ব্রাউজার বন্ধ হওয়ার পরেও সেশনগুলি স্থির থাকে।

আমি পুরো কোডবেস এর জন্য অনুসন্ধান করেছি ini_set('session.cookie_lifetime', 200000);কিন্তু এটি আমার সাইটে উপস্থিত বলে মনে হয় না। আমি দেখতে পাচ্ছি না যে দ্রুপাল কুকি জীবনকাল স্থির করছে। আমি মূলটিতে একটি php.ini ফাইলের মাধ্যমে সেটিংটি যুক্ত করার চেষ্টা করেছি কিন্তু এটি দ্রুপাল কর্তৃক অতিরিক্ত শাসিত হচ্ছে।

আমি মনে করি এটি সাধারণ জিনিস, তাই আমি প্লাগইনগুলি এড়াতে চাই। সবার কাছ থেকে শুনার অপেক্ষায় রইলাম। আগাম ধন্যবাদ.

উত্তর:


18

সেশন কুকি বিকল্পের জন্য ডি 8 সেটিংসের পরিবর্তে ধারক পরামিতি ব্যবহার করে। services.ymlএকই ফোল্ডারে যেমন একটি ফাইল তৈরি করুন settings.php। ডিফল্ট মান আছে default.services.yml। আপনি এই ফাইলটি অনুলিপি করতে services.ymlএবং এটি সংশোধন করতে পারেন:

/sites/default/services.yml:

parameters:
  session.storage.options:
    # Default ini options for sessions.
    #
    # Some distributions of Linux (most notably Debian) ship their PHP
    # installations with garbage collection (gc) disabled. Since Drupal depends
    # on PHP's garbage collection for clearing sessions, ensure that garbage
    # collection occurs by using the most common settings.
    # @default 1
    gc_probability: 1
    # @default 100
    gc_divisor: 100
    #
    # Set session lifetime (in seconds), i.e. the time from the user's last
    # visit to the active session may be deleted by the session garbage
    # collector. When a session is deleted, authenticated users are logged out,
    # and the contents of the user's $_SESSION variable is discarded.
    # @default 200000
    gc_maxlifetime: 200000
    #
    # Set session cookie lifetime (in seconds), i.e. the time from the session
    # is created to the cookie expires, i.e. when the browser is expected to
    # discard the cookie. The value 0 means "until the browser is closed".
    # @default 2000000
    cookie_lifetime: 2000000

4 কে 4, অনেক ধন্যবাদ। এই সমাধানটি আমরা অবশেষে অবতরণ করেছি।
টনি স্টেকা

হাই, সম্ভবত আপনি এটি গতিশীলভাবে করার কোন উপায় জানেন?
Артем Ильин

2
@ АртемИльин, আপনি পারবেন না, কুকি বিকল্পগুলি ধারকভাবে স্থিতিশীলভাবে সংকলিত হয়েছে। তবে আপনি পরিষেবার অদলবদল করতে পারেন session_configurationএবং ওভাররাইড __constructবা getOptionsDrupal এর \ কোর \ সেশন \ SessionConfiguration করুন।
4k4

৪-৪, আপনার উত্তরের জন্য অনেক ধন্যবাদ, আশা করি এটি সাহায্য করবে)
Ильин

ফলোআপ প্রশ্নের লিংক drupal.stackexchange.com/Qestions/279292/…
4k4

-2

আপনি # ডিফল্ট মানগুলি সেশন বা কুকিজের একই মানগুলিতে সেট করে আপনি কুকিজ এবং সেশন মানগুলি সংশোধন করতে চান অন্যথায় এটি ড্রুপাল 8 এ কাজ করবে না

**Ex : #default 0
gc_maxlifetime: 0**

parameters:
  session.storage.options:
    # Default ini options for sessions.
    #
    # Some distributions of Linux (most notably Debian) ship their PHP
    # installations with garbage collection (gc) disabled. Since Drupal depends
    # on PHP's garbage collection for clearing sessions, ensure that garbage
    # collection occurs by using the most common settings.
    # @default 1
    gc_probability: 1
    # @default 100
    gc_divisor: 100
    #
    # Set session lifetime (in seconds), i.e. the time from the user's last
    # visit to the active session may be deleted by the session garbage
    # collector. When a session is deleted, authenticated users are logged out,
    # and the contents of the user's $_SESSION variable is discarded.
    # @default 200000
    gc_maxlifetime: 200000
    #
    # Set session cookie lifetime (in seconds), i.e. the time from the session
    # is created to the cookie expires, i.e. when the browser is expected to
    # discard the cookie. The value 0 means "until the browser is closed".
    # @default 2000000
    cookie_lifetime: 2000000
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.