خطای allowed memory size وردپرس
رفع خطای fatal error: Allowed Memory Size of xxx Bytes Exhausted
بعضی وقت ها در وردپرس با خطای زیر (بیشتر مواقع در هنگام ورود به پیشخوان وردپرس - یا نصب افزونه هایی مثل yoast) روبرو میشوید که با این آموزش میتونید این مورد را حل کنید:
fatal error: Allowed Memory Size of xxx Bytes Exhausted
دلیل وقوع خطا
دلیل مشاهده خطای فوق، کمبود رم (Memory) اختصاص داده شده از سمت سرور به فایلهای PHP جهت اجرای کامل اسکریپت یا پروسه مورد نظر توسط آنهاست.
ممکن است هنگام کار با وردپرس یا هر سیستم مدیریت محتوای دیگری (جالب شد کمکم علاوه بر وردپرس در مورد سیستمهای مدیریت محتوای دیگر هم صحبت میکنیم.) با ارور Allowed memory size of مواجه شوید. این خطا مربوط به چیست و چرا باید در سایت ما نمایان شود؟ در این مقاله آموزشی به همراه شما عزیزان میهن وردپرس این خطا را بررسی و رفع خواهیم کرد.
آنچه در این مقاله میخوانید
- ارور Allowed memory size
- افزایش مموری وردپرس
- افزایش رم PHP از طریق هاست
خطاهای متداولی در سیستم مدیریت محتوا و به خصوص وردپرس که یکی از محبوبترین آنها میباشد ، وجود دارد که در مطالب قبلی به بررسی آنها پرداخته شد و در صورت نیاز شما میتوانید برای رفع آنها و یا افزایش آگاهی خود از خطاهای متداول وردپرس از طریق لینکهای زیر به مشاهده آنها نیز بپردازید.
- آموزش رفع خطای صفحه سفید وردپرس
- آموزش رفع خطای دیتابیس در وردپرس
- آموزش رفع مشکل به هم ریختگی داشبورد وردپرس
- آموزش رفع خطای Internal Server در وردپرس
- آموزش رفع خطای Connection Time Out در وردپرس
ارور Allowed memory size
هر زمان که اسم memory را شنیدید بدانید که با حافظه سروکار داریم و در این مورد خاص منظور از حافظه رمهاست شما است. پس این خطا زمانی به وجود میآید که با کمبود رم مواجه شویم! خیلی از مواقع تا در مورد کمبود رم صحبت میکنیم، کاربر با شدت عصبانیت میگوید: من ۱۶۴ گیگ رم روی سیستم لوکال هاست یا سرور دارم. ? کمی Relax باش دوست عزیز! منظور از این جمله خدایی نکرده کم بودن رم سیستم شما نیست!
ممکن است رم سیستم شما ۱ ترابایت باشد، اما میزان رمی که برای هر پروسه در PHP شما تنظیمشده فقط ۶۴ مگابایت رم باشد. بله درست متوجه شدهاید شما باید تنظیم کنید برای هر پروسه PHP چه مقدار از فضای رم استفاده شود و این مقدار را باید به مگابایت تنظیم کنید. پس اگر این میزان را خود یا مدیریت هاستینگ که از آن هاست سایت را تهیهکردهاید کم تعریف کرده باشید، میتوانید این میزان را افزایش دهید.
خطا به این شکل در سایت شما مشاهده خواهد شد:
Fatal error: Allowed memory size of 32321532 bytes exhausted (tried to allocate 2331617 bytes) in /home/ParseDev/public_html/wp-includes/plugin.php on line 400
راهحل رفع مشکل
راه حل بسیار ساده ای است. شما باید میزان تعیین شده به عنوان memory_limit را افزایش دهید. به این منظور لازم است مقدار اختصاص یافته را بر روی عددی بین 32M الی 128M تنظیم نمایید که البته این موضوع به هاست شما نیز بستگی دارد. ممکن است حتی به مقدار بیشتری نیاز داشته باشید.
جهت انجام اینکار طبق یکی از راه حلهای زیر عمل کنید:
۱- کد زیر را به فایل htaccess. واقع در مسیر اصلی نصب وردپرس، اضافه نمایید:
php_value memory_limit 128M
۲- کد زیر را به فایل wp-config.php واقع در مسیر اصلی نصب وردپرس، بیافزایید:
در صورتی که مشکل حل نشود عدد را از 128 به 256 تغییر دهید.Increasing memory allocated to PHP define(‘WP_MEMORY_LIMIT’, ‘128M’);
افزایش مموری وردپرس
برگردیم به سراغ بحث شیرین وردپرس ? قبول داریم که به خاطر این خطای مهلک سایت شما از دسترس خارجشده اما نفسی عمیق بکشید و آرام باشید. شما وردپرسی هستید و میتوانید بدون تماس با مدیر سرور بهصورت مستقیم این مقدار را تغییر دهید.
در اینجا لازم است تاکمی فایلهای PHP مربوط به مدیریت کردن منابع مورداستفاده وردپرس را تغییر دهیم. کافی است وارد فایل منیجر هاست خود شده و فایل wp-config.php را ویرایش کنید. خط زیر را در این فایل پیدا کنید. البته اگر این خط کد را پیدا نکردید، پس این خط را خود اضافه کنید.
به همین راحتی! شما در کد بالا تعریف کردهاید که رم وردپرس به ۲۵۶ مگابایت افزایش پیدا کند و از این لحظه به بعد میتوانید سایتتان را بدون مشکل بازکنید. اما اگر با روش اول حل نشد پس باید به سراغ روش دوم برویم، یعنی دست به دامان هاستینگ شویم و بهصورت اساسیتر این منابع را تعریف و تخصیص بدیم.define( 'WP_MEMORY_LIMIT', '256M' );
برای حل این مشکل اگر مدیر سرور هستید یا روی لوکال هاست با وردپرس کار میکنید، کافی است وارد فایل php.ini شوید. مسیر این فایل معمولاً در پوشه php شما است، اما با یک سرچ ساده در سیستم خود میتوانید این فایل را پیدا کنید.
افزایش رم PHP از طریق هاست
درهاست یا لوکال هاست مدیریت منابع به کمک فایل php.ini انجام میشود. برای حل این مشکل اگر مدیر سرور هستید یا روی لوکال هاست با وردپرس کار میکنید، کافی است وارد فایل php.ini شوید. مسیر این فایل معمولاً در پوشه php شماست اما با یک جستجو ساده در سیستم خود میتوانید این فایل را پیدا کنید.
اگر به WHM دسترسی دارید میتوانید وارد بخش Multi PHP INI Editor شوید و این فایل را مستقیما از پنل سرور خود تغییر دهید.
اگر به DirectAdmin مدیر هاست دسترسی دارید میتوانید از بخش File Editor این فایل را مستقیما تغییر دهید.
بعدازاینکه فایل را پیدا کردید کافی است به دنبال خط زیر باشید:
ممکن است بسته به تنظیمات وب سرور شما مقدار ۲۵۶ در کد بالا متغیر باشد. درهرصورت میتوانید این مقدار را به ۵۱۲M یا بیشتر افزایش دهید و دوباره از سایت خود استفاده کنید.memory_limit = 256M