আমি প্রতিদিন 400-500 দর্শনার্থী এবং 40-50 অর্ডার সহ একটি ম্যাজেন্টো শপ যত্ন করছি। সম্প্রতি সিস্টেমটি ম্যাজেন্টো EE 1.14.2.4 থেকে Magento EE 1.14.3.2 এ আপগ্রেড করা হয়েছিল এবং আমি লগগুলিতে কিছু অদ্ভুত ব্যতিক্রম লক্ষ্য করেছি:
exception 'Mage_Core_Model_Session_Exception' in
/var/www/.../app/code/core/Mage/Core/Model/Session/Abstract/Varien.php:418
আমি সেই ব্যতিক্রমটি তাড়া করেছিলাম এবং আমি জানি যে এটি বরখাস্ত করা হচ্ছে কারণ নিম্নলিখিত সেশনটির বৈধতা কোডটি অধিবেশনটি বৈধতা দিতে ব্যর্থ হয়েছে:
class Mage_Core_Model_Session_Abstract_Varien extends Varien_Object
{
// ...
protected function _validate()
{
// ...
if ($this->useValidateSessionExpire()
&& isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP])
&& $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) {
এই ই-ব্লকটি ম্যাজেন্টো থেকে সর্বশেষ প্রকাশের সাথে ফাইলটিতে যুক্ত করা হয়েছিল। এবং এটি আপাতদৃষ্টিতে ব্রেকিং পরিবর্তন, নীচে আরও বিশদ দেখুন।
ব্যতিক্রম বেশিরভাগ ক্ষেত্রেই ঘটছে, প্রতিদিন এক ডজন বারের মতো। আমি যদি উপরে অবস্থার সাথে আক্ষরিকভাবে সত্য না রাখি তবে আমি এমন শর্ত পুনরায় তৈরি করতে পারছি না যা ব্যতিক্রম ঘটায়। ব্যতিক্রমগুলি বেশিরভাগ ক্ষেত্রে পণ্যের বিবরণ পৃষ্ঠাগুলিতে এবং এক পৃষ্ঠার চেকআউটের শেষ ধাপে ঘটে। দোকানটি একটি বি 2 বি শপ, ব্যবহারকারীর পণ্য পৃষ্ঠা দেখতে বা চেকআউট করতে সক্ষম হতে হবে, মানে সেশনটি অবৈধ / মেয়াদোত্তীর্ণ হওয়ার পরে ব্যবহারকারীর পাতাগুলি লগইন করতে হবে। এই মুহুর্তে আমার পক্ষে চেকআউট করার সময় এই সমস্যাটি সমাধান করা আরও গুরুত্বপূর্ণ।
ব্যবহারকারীর দৃষ্টিকোণ থেকে যা ঘটে: ব্যবহারকারী কার্টটি পূরণ করে, চেকআউট করতে এগিয়ে যায় এবং শেষ ধাপে পৌঁছে যায়, তারপরে সে "অর্ডার জমা দিন" বোতামটি আঘাত করে এবং কিছুই ঘটে না। পর্দার আড়ালে ম্যাজেন্টোর জেএস একটি এজেএক্স অনুরোধ সম্পাদন করে এবং জেএস জেএসএনকে ফিরে পাওয়ার প্রত্যাশা করে, তবে এই ত্রুটিটি ঘটলে লগইন পৃষ্ঠার এইচটিএমএল ফিরে আসে, যা জাভাস্ক্রিপ্ট দ্বারা পার্স করা যায় না এবং এটি ঠিক কিছুই করে না। এটি ব্যবহারকারীদের জন্য অত্যন্ত বিভ্রান্তিকর।
ঠিক আছে, এটি সম্পূর্ণ ব্যবহারকারীর পরিস্থিতি নয়, আমরা ব্যবহারকারীদের সাথে যোগাযোগ করেছি এবং তারা আমাদের জানিয়েছিল যে তারা কার্টটি পূরণ এবং অর্ডার জমা দেওয়ার মধ্যে কয়েক দিনের জন্য অপেক্ষা করেছিলেন, এর সঠিক অর্থটি কী তা খুঁজে পাওয়া শক্ত, কারণ লোকেরা কেবল এটি মনে রাখে না।
পিএইচপি সেশন আজীবন - 350000 (সেকেন্ডে 4 দিন) কুকি জীবনকাল - 345600 (4 দিন)
এখানে আসল প্রশ্নটি রয়েছে: কীভাবে ব্যবহারকারীর আচরণ ব্যতিক্রম ঘটায় তা আমি কীভাবে জানতে পারি?
আপডেট এখন পর্যন্ত আমি জানি যে অনুরোধটি নিম্নলিখিত ক্লাসগুলিতে করা অনুরোধ অনুসারে ঘটেছিল, আমার কাছে দুর্ভাগ্যক্রমে এর অর্থ কিছুই নেই।
/catalogsearch/result/?q=… Mage_Core_Model_Session
/checkout/cart/ Mage_Core_Model_Session
/checkout/onepage/saveOrder/… Mage_Rss_Model_Session
/customer/account/loginPost/ Mage_Core_Model_Session
/customer/account/loginPost/ Mage_Reports_Model_Session
/customer/account/logout/ Mage_Reports_Model_Session
/catalog/product/view/… Mage_Reports_Model_Session
/catalog/product/view/… Mage_Tag_Model_Session
আপডেট 2 : সেশনগুলি ফাইলগুলিতে সঞ্চয় করা হয় এবং পিএইচপি সেশন আবর্জনা সংগ্রহকারী দ্বারা পরিষ্কার করা হয়, এটি ভাল পছন্দ কিনা তা এই প্রশ্নের আওতার বাইরে নয়।