اقدامات اولیه
برای رفع مشکل کمبود حافظه PHP یا Memory Exhausted در وردپرس بهتر است اقدامات ابتدایی را اجرا نمایید. از وردپرس نسخه پشتیبان تهیه کنید. حالت دیباگ را فعال کنید و از صحت عملکرد افزونه ها، پوسته و هسته وردپرس اطمینان حاصل کنید. عموماً منشأ خطای سایت در همین مرحله کشف خواهد شد.
فضای حافظه در وردپرس چیست؟
وردپرس به زبان برنامه نویسی PHP نوشته شده است. پی اچ پی برای اجرای کدها نیاز به فضای حافظه مناسب دارد. به صورت پیش فرض وردپرس به 32 مگابایت فضای حافظه نیاز دارد. هرچه قالب شما سنگین تر و تعداد افزونه های نصب شده بیشتر باشد حجم کدهای پردازشی بیشتر می شود و PHP به فضای حافظه بیشتری برای اجرای کدها نیاز خواهد داشت.
خطای Memory Exhausted چگونه اتفاق می افتد؟
خطای Memory Exhausted به دلیل کمبود فضای حافظه در اجرا کدها روی می دهد. هنگامی که وردپرس فضای کافی برای اجرای دستورات PHP را در اختیار نداشته باشد با خطای کمبود حافظه شما را آگاه خواهد کرد. این خطا معمولاً به اشکال محتلف خود را نشان می دهد:
- خطای Fatal error: Allowed memory size of 33554432 bytes exhausted
- خطای 500 یا Internal Server Error
- صفحه سفید یا صفحه مرگ
- خطای بروزرسانی با متن “به روز رسانی ناموفق بود”
رفع خطای کمبود حافظه یا Memory Exhausted
برای حل مشکل خطای کمبود حافظه روش های مختلفی وجود دارد. در ادامه بهترین راهکارها برای افزایش حافظه PHP در وردپرس را به شما آموزش خواهیم داد.
آموزش ورود به کنترل پنل مدیریت وردپرس
افزایش محدودیت حافظه PHP در فایل wp-config (پیشنهادی)
به کنترل پنل هاست (دایرکت ادمین / سی پنل) مراجعه کنید و از بخش File Manager وارد محل نصب وردپرس شوید (عموماً فولدر public-html است). فایل wp-config را پیدا کنید و کدهای زیر را به انتهای آن اضافه کنید:
define('WP_MEMORY_LIMIT','256M');
define ('WP_MAX_MEMORY_LIMIT', '512M');
در صورتی که این خط کد در فایل wp-config از قبل موجود است صرفاً مقدار عددی مموری را افزایش دهید. کد اول مربوط به فرانت و کد دوم مربوط به داشبورد وردپرس است که حافظه بیشتری نیاز دارد.
حافظه پیشنهادی | مقدار خطای دریافتی |
---|---|
4MB | PHP: Fatal Error: Allowed Memory Size of 4194304 Bytes Exhauste |
8MB | PHP: Fatal Error: Allowed Memory Size of 8388608 Bytes Exhausted |
16MB | PHP: Fatal Error: Allowed Memory Size of 16777216 Bytes Exhausted |
32MB | PHP: Fatal Error: Allowed Memory Size of 33554432 Bytes Exhausted |
64MB | PHP: Fatal Error: Allowed Memory Size of 67108864 Bytes Exhausted |
128MB | PHP: Fatal Error: Allowed Memory Size of 134217728 Bytes Exhausted |
256MB | PHP: Fatal Error: Allowed Memory Size of 268435456 Bytes Exhausted |
512MB | PHP: Fatal Error: Allowed Memory Size of 536870912 Bytes Exhausted |
1024MB | PHP: Fatal Error: Allowed Memory Size of 1073741824 Bytes Exhausted |
درخواست پشتیبانی از هاست
اکثر شرکت های میزبانی وب به شما این اجازه را می دهند که از طریق فایل کانفیگ مقدار مموری لیمیت را افزایش دهید. اما گاهی تغییرات در فایل wp-config کارگشا نیست. بهتر است به پشتیبانی هاست تیکت بزنید و از آنها بخواهید مقدار MEMORY_LIMIT حساب شما را به 512 مگابایت ارتقاء دهند.
راهنمای انتخاب هاست برای وردپرس [7 معیار کلیدی]
افزایش محدودیت حافظه PHP در فایل htaccess
در برخی سرویس های میزبانی وب این امکان وجود دارد که از طریق فایل htaccess نیز مقدار محدودیت حافظه را ارتقاء داد. در این شرایط می توانید فایل اچ تی اکسس موجود در محل نصب وردپرس را ویرایش کنید و کد زیر را به انتهای آن اضافه نمایید.
php_value memory_limit 256M