WordPress Memory Error, এই সমস্যাটি প্রায় সকল ওয়ার্ডপ্রেস এডমিনদের ফেস করতে হয়। আপনি নিজে অথবা আপনার এডমিন যখন আপনার সাইটে নতুন কোন কনটেন্ট বা মিডিয়া এড বা পাবলিশ করতে যান তখন হঠাৎ করেই এই ধরণের এরর দেখতে পান –  “Fatal error: Allowed memory size of xxxxxx bytes exhausted.”

কি কারণে এমন ঘটে? কেনই বা ওয়ার্ডপ্রেস রান আউট অফ মেমরি দেখায়?

সহজভাবে, এটি হয়ে থাকে মূলত PHP প্রোগ্রামিং ল্যাংগুয়েজ এর কারনে। ওয়ার্ডপ্রেস সাইট PHP কোড এক্সিকিউশনের জন্য একটি ডিফল্ট মেমরি লিমিট ব্যবহার করে থাকে। আপনার সাইটের এই নির্দিষ্ট মেমরি লিমিটেশনের চেয়ে বড় কোন মিডিয়া বা ইলিমেন্ট ব্যবহার করার ফলে এটি লিমিট অতিক্রম করে এমন এরর দেখায়।

এই আর্টিকেল এ আমরা ওয়ার্ডপ্রেস PHP Memory Limit কি, কি কারণে এই ধরণের সমস্যা তৈরি হয় এবং কিভাবে এর সমাধান করা যায় এই সমস্ত বিষয় নিয়েই আলোচনা করবো।

ওয়ার্ডপ্রেসে PHP কি?

PHP হল একটি Server-Side Language যা ওয়ার্ডপ্রেস এর মাধ্যমে আপনার সাইট তৈরিতে HTML পেজ গুলো Create এবং Manage করতে ব্যবহৃত হয়। এটিকে “Server-Side” বলা হয় কারণ এটি ওয়ার্ডপ্রেস ব্যাকএন্ডে কাজ করে, আপনার ডেস্কটপ কম্পিউটার বা মোবাইল ডিভাইসে নয়।

PHP হল একটি লাইটওয়েট, স্পিডলি এবং ওপেন সোর্স ল্যাঙ্গুয়েজ যা ওয়েবসাইট Element তৈরি করার জন্য আদর্শ। অভিজ্ঞ প্রোগ্রামাররা নির্দিষ্ট ওয়েবসাইটের প্রয়োজন অনুসারে PHP ফ্রেমওয়ার্কগুলি কাস্টমাইজ বা মোডিফাই করতে পারে এবং ফাংশোনালিটি স্ট্রিমলাইন করতে এবং নিরাপত্তা বাড়াতে কোডটি নিয়মিত আপডেট করে থাকে।ফলস্বরূপ, এটি ওয়ার্ডপ্রেসের জন্য general-purpose scripting language। 

ওয়ার্ডপ্রেসে PHP memory limit কি?

ওয়ার্ডপ্রেসের ডিফল্ট ভাবে PHP memory limit 32MB থাকে। এটি কয়েকটি পেজ, সামান্য পরিমাণে মাল্টিমিডিয়া কনটেন্ট এবং প্লাগইন সহ সাইটগুলির জন্য যথেষ্ট, তবে আপনি আপনার ওয়েবসাইটে যত বেশি পেজ, মাল্টিমিডিয়া কনটেন্ট এবং প্লাগইন অ্যাড করবেন আপনার PHP memory limit ততবেশি প্রয়োজন হবে।

যখন আপনি ডিফল্ট লিমিট অতিক্রম করে ফেলবেন তখন একটি স্বয়ংক্রিয় ভাবে লিমিট 40MB পর্যন্ত বাড়িয়ে নিবে। তখন কোনো ফাইল আপলোড করতে গেলে যদি এই লিমিট ও অতিক্রম করে ফেলে। তখন আপনার সাইটে একটি ইরর ম্যাসেজ দেখাবে। এই ইস্যুটি যতক্ষন ফিক্স না করা হবে ততক্ষন ইরর ম্যাসেজটি পেতে থাকবেন।

কি কারণে PHP Memory Limit এর সমস্যা দেখা দেয়?

১. নিম্নমানের প্লাগিন্সঃ

ওয়ার্ডপ্রেসে একই কাজ করার জন্য অনেক ধরনের টুলস এবং প্লাগিন্স থাকে। তবে সব প্লাগিন্স একই ধরণের সমাধান বা পার্ফমেন্স দিতে পারে না। এই ক্ষেত্রে যে সকল প্লাগিন্স এর রেটিংস অনেক কম এবং খুব কম সংখ্যক ইউজার ব্যবহার করেছেন এমন প্লাগিন্স গুলোই সাধারণ নিম্নমানের প্লাগিন্স। এই প্লাগিন্স গুলো ব্যবহারে নিদির্ষ্ট সমস্যার সমাধান না হলেও মেমরির একটি নির্দিষ্ট অংশ এরা ধারণ করে থাকে যেটি আপনার সাইটের জন্য কখনই ভালো না। তাই এই ধরণের প্লাগিন্স ব্যবহার করা থেকে বিরত থাকা উচিত।

২. পুরাতন PHP Version:

সার্চ ইঞ্জিন জার্নালদের রিপোর্ট অনুযায়ী ৬১.৬% ওয়ার্ডপ্রেস সাইট ইউজারের PHP Version পুরাতন। পুরাতন PHP Version এর কারণে শুধু সিকিউরিটি রিস্কই থেকে যায় না, এর ফলে ওয়েবসাইটের কার্যক্ষমতাকেও প্রভাবিত করে। পিএইচপি-র নতুন ভার্সন আরও দ্রুত কাজ পরিচালনা করতে সক্ষম, যে কোনও সময়ে ব্যবহৃত মেমরির পরিমাণ হ্রাস করতে পারে।

৩. মেমরি-খাদক মিডিয়াঃ

আপনি আপনার সাইটে যা রাখেন তা মেমরির জন্য গুরুত্বপূর্ণ। উদাহরণস্বরূপ, যদি আপনার ওয়ার্ডপ্রেস সাইটটি মূলত গঠিত হয় টেক্সট কনটেন্ট, মাঝে মাঝে কিছু ইমেজ এবং লিংক দিয়ে। তাহলে আপনার মেমরি লিমিট ক্রস করার সম্ভাবনা তেমন একটা নেই। আর যদি আপনি একের পর এক ভিডিও বা কোনো ইন্টারেক্টিভ কনটেন্ট আপলোড করতে থাকেন। তাহলে আপনি আপনার মেমরি লিমিট ক্রস হয়েছে এমন ইরর ম্যাসেজ পেতে পারেন।

আপনি যদি নিশ্চিত না হন যে সমস্যার কারণ কী হতে পারে, তাহলে Server IP and Memory Usage Display এর মতো অনেক প্লাগইন আছে যা আপনার ওয়ার্ডপ্রেস ইনস্টলেশনের মেমরি ইউজেস এবং অবশিষ্ট মেমরি অনুসন্ধান করবে এবং আপনি বর্তমানে যে PHP চালাচ্ছেন তার আপডেট আপনাকে দেখাবে। ভিজ্যুয়াল কাজ মেমরির ইউজেস বাড়ানো/কমানো হাইলাইট করে। মেমরির ইউজেস বাড়ার সাথে সাথে শতকরা মান ধীরে ধীরে লাল হয়ে যায়, আপনাকে জানিয়ে দেয় যে আপনি লিমিটের কাছাকাছি পৌছে গেছেন। এই প্লাগিন্স এর মাধ্যমে আরও জানা যায় কোনটি কতটুকু মেমরি ব্যবহার করছে।

আপনার কি সর্বোচ্চ ব্যান্ডউইথ ব্যবহার করা এবং ওয়ার্ডপ্রেসের সর্বোচ্চ লিমিট পর্যন্ত ব্যবহার করা উচিত? অথবা, সাইটের পার্ফমেন্সের জন্য মেমরি লিমিট সম্পূর্ন ব্যবহার না করা কি ভালো? আসুন এবার তা আলোচনা করা যাক। 

ওয়ার্ডপ্রেসে গ্রহণযোগ্য পিএইচপি মেমরির লিমিট কত?

ওয়ার্ডপ্রেসের ডিফল্ট পিএইচপি মেমরি লিমিট 32MB থাকে। কিন্তু সকল হোস্টিং প্রোভাইডাররা তাদের সকল কাস্টমার দের জন্য এটি বাড়িয়ে 64MB করে দিয়ে থাকে। তবে এটি সর্বোচ্চ 256MB পর্যন্ত বাড়ানো যায়। 

যদি কনটেন্ট এবং মিডিয়ার জন্য আরও মেমরি বাড়িয়ে দেওয়া হয়, তাহলে অতিরিক্ত এলিমেন্ট গুলোর কারণে সাইট স্লো হয়ে যেতে পারে। ওয়েবসাইটের পারফরমেন্স বজায় রাখার জন্য মেমরির মাঝামাঝি জায়গা পর্যন্ত স্টোরেজ ব্যবহার করুন।

কিভাবে ওয়ার্ডপ্রেসে পিএইচপি মেমরি লিমিট বাড়ানো যায়?

আপনি যদি আপনার PHP আপডেট করে থাকেন, খারাপ মানের প্লাগিন্সগুলো রিমুভ করে ফেলেন, আপনার কন্টেন্ট গুলো যদি রিমুভ করে থাকেন এবং তার পরেও মেমরি ইরর ইস্যু পেয়ে থাকেন, তাহলে আপনাকে PHP Memory limit বাড়ানোর প্রয়োজন হতে পারে।

সমস্যাটি সমাধানের জন্য নিচের ধাপ গুলো অনুসরণ করতে পারেনঃ

১. wp-config.php থেকে মেমরি লিমিট বাড়িয়ে,

২. PHP.ini থেকে মেমরি লিমিট বাড়িয়ে,

৩. .htaccess থেকে মেমরি লিমিট বাড়িয়ে,

৪. memory increase plugin ব্যবহার করে এবং

৫. প্রয়োজনে হোস্টিং প্রোভাইডারের সাথে যোগাযোগ করা।

১. [wp-config.php] থেকে মেমরি লিমিট বাড়িয়েঃ

এই উপায়ে মেমরি লিমিট বাড়ানোর জন্য নিচের ধাপ গুলো অনুসরণ করুনঃ

আপনার ওয়েবসাইটের রুট ফোল্ডার থেকে wp-config.php নামের একটি ফাইল পাবেন। এবার ফাইলটি সিলেক্ট করে রাইট বাটন ক্লিক করলে Edit অপশন পাবেন। Edit অপশনে ক্লিক করার পর ফাইলটি ওপেন হবে। ফাইলটি ওপেন হলে define('WP_MEMORY_LIMIT', '32M'); লাইনটি খুজে বের করুন।

এবার এটি define('WP_MEMORY_LIMIT', '128M'); মডিফাই করুন। এটি আপনি 256M পর্যন্ত বাড়াতে পারবেন। তবে কিছু ক্ষেত্রে রিকোমেন্ডেট অনুযায়ী, এ ছাড়া প্রয়োজন নেই।

২. [PHP.ini] থেকে মেমরি লিমিট বাড়িয়েঃ

আপনার Config ফাইল এডিট করার পরেও যদি সমস্যা সমাধান না হয়ে তাহলে আপনি PHP.ini ফাইল থেকেও সমস্যাটি সমাধান করতে পারেন। লক্ষনীয় বিষয়, এই ফাইলটি যেহেতু সার্ভার সেটিং থেকে কনফিগার হয়ে থাকে, সেহেতু আপনি যদি শেয়ার্ড হোস্টিং সার্ভিস ব্যবহার করে থাকেন তাহলে আপনি এটি মডিফাই করতে পারবেন না।

ফাইল ম্যানেজার থেকে PHP.ini ফাইলটি এডিট করার জন্য ওপেন করার পর এই লাইনটি খুজে বের করুন “memory_limit = 32M”। এখানে আপনি 128M করে দিতে পারনে। পাশাপাশি  আপনি max_execution_time লাইন পরিবর্তন করে দিতে পারেন। এই লাইনটি একটি পিএইচপি স্ক্রিপ্ট রান করার জন্য বরাদ্ধ করা সেকেন্ডে সময় নির্ধারণ করে। যদি এই টাইম লিমিট ক্রস করে, তাহলে PHP থেকে আপনি একটি ইরর দেখতে পাবেন। max_execution_time বাড়িয়ে দিলে আপনার স্ক্রিপ্ট রান টাইম আরো বৃদ্ধি পাবে। আপনি যদি আরও মেমরি-ইন্টেন্সিভ সার্ভিস এবং প্লাগইন ব্যবহার করার পরিকল্পনা করছেন তবে এটি একটি ভাল উপায় হতে পারে৷

৩. [.htaccess] থেকে মেমরি লিমিট বাড়িয়েঃ

আপনার সর্বশেষ মেমরি লিমিট বাড়ানোর জন্য .htaccess ফাইল মডিফাই করতে হবে। আপনি FTP কানেকশনের মাধ্যমে ডিরেক্টরি এবং ফাইল লিস্টের মাধ্যমে অ্যাক্সেস করতে পারবেন। এখানে ফাইলের নামের সামনে “.” যুক্ত ফাইল মানে এটি একটি গোপন ফাইল হিসেবে ধরা হয়। যদি আপনি এই ফাইলটি খুজে না পান তাহলে আপনি FTP বা SFTP এর Show Hidden File টি ইনেবল করে নিতে হবে।

যদি আপনি ফাইলটি অ্যাক্সেস করতে পারেন, তাহলে এই লাইনটি খুজে বের করুনঃ php_value memory_limit তারপর, সেখানে আপনি  64M, 128M, অথবা 256M এর মধ্যে যে কোনো একটি ভ্যালু সেট করুন। সেট করা হয়ে গেলে ফাইলটি সেভ করুন।

ফাইলটি এডিট শেষে সমস্যাটি সমাধান হয়েছে কি না তা চেক করার আগে ক্যাশ ফাইল ক্লিন করে নিন।

৪. Memory Increase Plugin ব্যবহার করেঃ

আপনার হোস্টিং সার্ভিসের মেমরি লিমিট বাড়ানোর জন্য আর একটি পদ্ধতি হলো কোন প্লাগইন ব্যবহার করা। আপনি আপনার হোস্টিং সার্ভিসের PHP Memory limit বাড়ানোর জন্য  WordPress WP Memory Limit, Memory Usage, Server Memory, এবং Health plugin ব্যবহার করতে পারেন। এই প্লাগইন গুলো শুধু মাত্র ওয়ার্ডপ্রেস ভার্সন 5.2 বা তার উপরের ভার্সন গুলোতে কাজ করবে। আর এই প্লাগইন ব্যবহার করলে কোন ধরণের অ্যাক্সেস বা মডিফাই ফাইলের প্রয়োজন হবে না।

৫. প্রয়োজনে হোস্টিং প্রোভাইডারের সাথে যোগাযোগ করাঃ

উপরের ধাপগুলো ফলো করে এখনো আপনি যদি আপনার সাইটের PHP Memory limit রিলেটেড সমস্যাটি সমাধান করতে না পারেন। তাহলে সর্বশেষ উপায় হিসেবে আপনার হোস্টিং প্রোভাইডার এর যাথে যোগাযোগ করতে পারেন।

আপনি উপরের ধাপ গুলো অনুসরণ করে খুব সহজে PHP Memory Limit কনফিগারেশন করতে পারবেন। এই ধাপ গুলো অনুসরণ করার পরেও যদি আপনি সমস্যা সমাধান না হয়। তাহলে সেটিও আমাদের জানাতে পারেন।

Leave a Reply