ম্যাজেন্টো সিএমএস এবং এর মতো (যেগুলি পুরানো সেশনগুলি পরিষ্কার করছে না), আমি কেবল পিএইচপি.আইএনই সেটিংসের ভিত্তিতে ক্রোন জব ব্যবহার করি।
পিএইচপি 5 / উবুন্টু 14.04 / ডেবিয়ান
পিএইচপি 5 এর জন্য সিস্টেম ক্রোন.ড সেটআপটি ম্যাজেন্টো ./var/session (অথবা ডিফল্ট সেশন ফোল্ডার (উরুন্টু / / var / lib / php5 / সেশনগুলির জন্য / var / lib / php5 এবং অন্য বেশিরভাগ লিনাক্সের জন্য / tmp / পরিষ্কার করে না) dists)।
তবে আপনি এখনও ডিফল্ট পিএইচপি 5 / ডেবিয়ান সিস্টেম ক্রোন অনুসারে "সেশনকল্যান" এবং "ম্যাক্সলাইফটাইম" ব্যবহার করতে পারেন:
কমান্ড লাইন থেকে আপনি চেষ্টা করতে পারেন উদাহরণ:
# sudo /usr/lib/php5/sessionclean /var/www/{yoursite}/var/session $(/usr/lib/php5/maxlifetime)
সুতরাং কেবল একটি সিস্টেম / রুট ক্রোনট্যাব বা সেশন ফাইলগুলির জন্য অনুমতি পড়ার / লেখার অনুমতিপ্রাপ্ত ব্যবহারকারীর ক্রোন্টাবের মধ্যে এটি অন্তর্ভুক্ত করুন:
$ sudo crontab -e
এটি যোগ করুন আপনি এটি সিস্টেম পিএইচপি ক্রনের সাথে দেখতে অনুরূপ দেখতে চান:
20,40 * * * * [ -x /usr/lib/php5/maxlifetime ] && [ -x /usr/lib/php5/sessionclean ] && [ -d /var/www/*/var/session ] && /usr/lib/php5/sessionclean /var/www/{yoursite}/var/session $(/usr/lib/php5/maxlifetime)
বা - যেহেতু আমরা জানি সেই ফাইলগুলি / ডায়ারগুলি বিদ্যমান:
20,40 * * * * /usr/lib/php5/sessionclean /var/www/*/var/session $(/usr/lib/php5/maxlifetime)
এখন আমার বেশিরভাগ সেশন রয়েছে এবং এটি পিএইচপি.আইএনআই (ক্লায়েন্ট) সেটিংসের মাধ্যমে ডিফল্ট আবর্জনা সংগ্রহ / আজীবন দিয়ে পরিষ্কার রাখা হয়।
(আপনি উপরে ওয়াইল্ডকার্ড ছেড়ে যেতে পারেন বা সিটেনামের সাথে প্রতিস্থাপন করতে পারেন))
সম্পাদনা (পিএইচপি 7 / উবুন্টু 16.xx / দেবিয়ান):
'অধিবেশন' স্ক্রিপ্টটি পরিবর্তিত হয়েছে এবং ম্যাক্স লাইফটাইম স্ক্রিপ্ট সরানো হয়েছে। সিস্টেম / পিএইচপি ক্রোন কাজের জন্য এটি এখন একটি স্ক্রিপ্ট। ফাইল কলগুলি এখন স্ক্রিপ্টে স্থিতিশীল হওয়ায় আপনি এটি আর ব্যবহার করতে পারবেন না।
পুরানো পিএইচপি 5 অধিবেশন স্ক্রিপ্ট এখনও আপনার জন্য কাজ করতে পারে যদি সিস্টেমটি পরিষ্কার না করে। আপনি যা করতে পারেন তা হ'ল পুরানো ডেবিয়ান পিএইচপি 5 প্যাকেজটি হ'ল sessionclean
এটি থেকে বের করা। অথবা আপনি এটিকে সহজেই আপনার স্ক্রিপ্টগুলিতে অনুলিপি করতে পারেন (যথাযথ / var / www / (সাইট) অনুমতি / মালিকানা দেওয়া):
#!/bin/sh
# first find all used files and touch them (hope it's not massive amount of files)
[ -x /usr/bin/lsof ] && /usr/bin/lsof -w -l +d "${1}" | awk -- '{ if (NR > 1) { print $9; } }' | xargs -i touch -c {}
# find all files older then maxlifetime
find "${1}" -depth -mindepth 1 -maxdepth 1 -ignore_readdir_race -type f -cmin "+${2}" -delete
আমি এটির নামকরণেরও পরামর্শ দিচ্ছি, সুতরাং এটি নতুন পিএইচপি 'সেশনলেশন' ক্রোনজব নিয়ে বিভ্রান্ত নয়। তারপরে আপনি নিজের মতো করে নিজের "ম্যাক্স লাইফটাইম" নম্বরটি প্লাগ করতে পারেন:
20,40 * * * * /home/-username-/scripts/MySessionClean /var/www/*/var/session 61
(Age১ উদাহরণ বয়সের (মিনিটের মধ্যে) এবং 'মাইসেশনক্লিয়ান' নাম পরিবর্তন করে পিএইচপি 5 স্ক্রিপ্ট ডাউনলোড করা বা উপরে থেকে অনুলিপি করা)।
এই পদ্ধতিতে আমরা পুরোপুরি php.ini / env কল এড়িয়ে চলে।
(১৩ ডিসেম্বর ২০১6 এডিট করুন: ডেবিয়ান আর্কাইভ রেপো লিঙ্ক আপডেট হয়েছে)