رفع خطای Memory Exhausted در وردپرس: علتها و راهحلها
خطای Memory Exhausted در وردپرس یکی از خطاهای رایج است که بسیاری از کاربران هنگام کار با این سیستم مدیریت محتوا ممکن است با آن مواجه شوند. این خطا زمانی رخ میدهد که وردپرس نتواند به اندازه کافی حافظه برای پردازش درخواستها و بارگذاری صفحات استفاده کند. به طور معمول، این مشکل به دلیل تنظیمات محدود حافظه PHP یا استفاده زیاد از منابع توسط افزونهها یا قالبها بروز میکند.
در این مقاله، به بررسی دلایل بروز این خطا و همچنین راهحلهای موجود برای رفع آن میپردازیم.
علتهای بروز خطای Memory Exhausted
در وردپرس، هر فرآیند یا درخواست برای اجرا به میزان معینی از حافظه نیاز دارد. هنگامی که حافظه مجاز به پایان میرسد، خطای “Memory Exhausted” نمایش داده میشود. این مشکل معمولاً به دلایل زیر اتفاق میافتد:
- محدودیت حافظه PHP
هر سرور میزبان محدودیتی برای میزان حافظهای که یک فرآیند میتواند استفاده کند، تعریف کرده است. به طور پیشفرض، وردپرس فقط از 64 مگابایت حافظه PHP استفاده میکند که ممکن است برای سایتهای بزرگ یا دارای افزونههای متعدد کافی نباشد. - افزونهها و قالبهای سنگین
برخی از افزونهها و قالبها منابع زیادی را مصرف میکنند و در صورتی که تعداد زیادی از این افزونهها و قالبها فعال باشند، ممکن است باعث پر شدن حافظه شوند. - ترافیک بالا و بار زیاد روی سایت
سایتهایی که ترافیک زیادی دارند یا در ساعات اوج فعالیت قرار دارند، ممکن است بیشتر از حد معمول از منابع سرور استفاده کنند. - تصاویر و فایلهای بزرگ
گاهی اوقات، آپلود تصاویر و فایلهای حجیم بدون بهینهسازی میتواند باعث افزایش مصرف حافظه و بروز این خطا شود. - مشکلات در کدنویسی
اگر کد قالب یا افزونهها به درستی نوشته نشده باشد، ممکن است به طور غیرضروری حافظه مصرف کنند.
راهحلهای رفع خطای Memory Exhausted در وردپرس
برای رفع این خطا، چندین روش وجود دارد که میتوانید به ترتیب امتحان کنید:
1. افزایش حافظه PHP در فایل wp-config.php
یکی از سادهترین و موثرترین روشها برای رفع این خطا، افزایش مقدار حافظه PHP است. برای این کار، باید فایل wp-config.php
را که در ریشه سایت وردپرس شما قرار دارد ویرایش کنید.
- به ریشه سایت خود بروید و فایل
wp-config.php
را پیدا کنید. - این خط را به بالای فایل (قبل از خطی که میگوید “That’s all, stop editing!”) اضافه کنید:
php
define('WP_MEMORY_LIMIT', '256M');
این خط دستور میدهد که حداکثر حافظه PHP برای وردپرس به 256 مگابایت افزایش یابد. اگر مشکل هنوز ادامه داشت، میتوانید این مقدار را بیشتر کنید (مثلاً به
512M
).
2. افزایش حافظه PHP از طریق فایل .htaccess
در بعضی موارد، سرور شما ممکن است اجازه تغییر در فایل wp-config.php
را ندهد. در این صورت، میتوانید از فایل .htaccess
برای افزایش حافظه استفاده کنید.
- فایل
.htaccess
را در ریشه سایت خود پیدا کنید. - کد زیر را در انتهای فایل اضافه کنید:
apache
php_value memory_limit 256M
3. غیرفعال کردن افزونههای غیرضروری
افزونههایی که به درستی کدنویسی نشدهاند یا منابع زیادی را مصرف میکنند، میتوانند باعث بروز خطای “Memory Exhausted” شوند. برای رفع این مشکل، باید افزونههای غیرضروری را غیرفعال کنید.
- به پیشخوان وردپرس بروید.
- به بخش “افزونهها” رفته و افزونههایی که به آنها نیاز ندارید را غیرفعال کنید.
- در صورتی که مشکل رفع شد، افزونهها را یکییکی فعال کرده و مشاهده کنید که کدام افزونه باعث بروز مشکل شده است.
4. تغییر میزبان یا ارتقا به هاست قدرتمندتر
اگر مشکل حافظه همچنان ادامه دارد، ممکن است نیاز باشد که از هاست بهتری استفاده کنید. هاستهای اشتراکی ممکن است محدودیتهای زیادی در استفاده از منابع داشته باشند. ارتقا به هاست اختصاصی یا VPS میتواند منابع بیشتری را برای سایت شما فراهم کند.
5. بهینهسازی تصاویر و فایلها
تصاویر و فایلهای حجیم میتوانند میزان زیادی از حافظه سرور را مصرف کنند. استفاده از ابزارهای بهینهسازی تصاویر مانند افزونههای WP Smush یا ShortPixel میتواند به کاهش مصرف حافظه کمک کند.
6. بروزرسانی قالبها و افزونهها
بعضی از قالبها یا افزونهها ممکن است با نسخههای جدید وردپرس سازگار نباشند و باعث مصرف زیاد منابع شوند. اطمینان حاصل کنید که تمام افزونهها و قالبهای شما به آخرین نسخه بروزرسانی شدهاند.
نتیجهگیری
خطای Memory Exhausted در وردپرس معمولاً به دلیل کمبود حافظه PHP بروز میکند. با افزایش حافظه، غیرفعال کردن افزونههای غیرضروری، بهینهسازی تصاویر و ارتقا به هاست بهتر میتوانید این مشکل را رفع کنید. همیشه بهتر است که تنظیمات سایت خود را به دقت بررسی کرده و از افزونههای کدنویسی شده بهینه استفاده کنید تا از بروز چنین مشکلاتی جلوگیری کنید.