آموزش رفع خطای allowed memory size exhausted در وردپرس
احتمالا تا امروز پیش آمده که در هنگام فعال کردن یک افزونه یا انجام کارهای دیگر در وردپرس، با خطایی مشابه خطای زیر برخورد کرده باشید :
1 | Fatal error: Allowed memory size of 43654821 bytes exhausted (tried to allocate 3248727 bytes) in /home/xxx/public_html/wp-includes/plugin.php on line xx |
هرچند که شاید قیافه ی این خطا کمی پیچیده به نظر برسد ولی حرف ساده ای ر برای شما نقل میکند : “وردپرس شما به مموری کافی دسترسی ندارد”
خوشبختانه عموما و در اکثر مواقع میتوان این خطا را به سادگی و با افزودن یک خط کد به فایل wp-config.php برطرف کرد. کافی است فایل تنظیمات وردپرس را برای ویرایش باز کنید. اگر این فایل را جابجا نکرده باشید، با مراجعه به فولدر public_html هاست خود به سادگی میتوانید آن را پیدا کنید ولی اگر قبلا نصب وردپرس خود را امن کرده باشید، این فایل در یک فولدر بالا تر، یعنی در home هاست شما قرار دارد. بعد از اینکه فایل wp-config.php را برای ویرایش باز کردید، خط کد زیر را جایی بین تگ های اصلی php اضافه کنید :
1 | define('WP_MEMORY_LIMIT', '64M'); |
و سپس تغییرات را ذخیره نمایید. (بهتر است قبل از انجام کار یک نسخه ی پشتیبان از فایل wp-config.php خود تهیه کنید.
کاری که این کد انجام میدهد این است که مموری مجاز برای وردپرس را تا 64 مگابایت افزایش میدهد. شاید بگویید که این مقدار خیلی کم است. ولی در واقع اصلا اینطور نیست. چرا که وردپرس به صورت پیشفرض در هنگام اجرا تنها 40 مگابایت مموری از سیستم درخواست میکند و حالا با کدی که شما در فایل تنظیمات قرار داده اید، وردپرس در ابتدای اجرا بررسی میکند و اگر مموری رزرو شده کمتر از مقدار 64 مگابایت باشد، اطمینان حاصل میکند که این مقدار مموری برای اجرا، رزور گردد.
این مقدار مموری برای یک نصب استاندارد وردپرس کاملا کافی است اما فرضا اگر به مموری بیشتری نیاز داشته باشید میتوانید به سادگی رقم 64 را به عددهای 96 یا 128 تغییر دهید. توجه داشته باشید که انتخاب ارقام بالاتر نه تنها تاثیر مثبتی روی اجرای اسکریپت شما نخواهد داشت، بلکه میتواند منجر به کندی سایت، هاست و کرش کردن سرور شود. البته بدیهی است که شما قادر نخواهید بود مموری بیش از حداکثر مقدار تعیین شده در تنظیمات اصلی سرور و php.ini به وردپرس اختصاص دهید و اگر با افزایش این مقادیر، باز هم سایت شما همان خطای Allowed memory size exhausted را به شما اعلام میکند، ابتدا باید مطمئن شوید که :
- دستور شما به درستی در فایل تنظیمات قرار گرفته و اجرا میشود.
- مموری بر روی هاست شما به رقمی کمتر از 64 مگابایت محدود نباشد.
- اطمینان حاصل کنید که نصب وردپرس شما استاندارد بوده و افزونه های سنگین و غیر استاندارد روی آن وجود ندارند.
طبعا راه حصول اطمینان از مورد 2 این است که با پشتیبانی هاستتان ارتباط برقرار کرده و این مورد را جویا شوید. اگر شما از روش دیگری برای حل خطای Allowed memory size exhausted استفاده میکنید، حتما آن را در بخش نظرات با ما در میان بگذارید.