آموزش رفع خطای Fatal error: Allowed memory exhausted در وردپرس
کد تخفیف در جریان tabestan97 %15 تا آخر تابستان 97

وردپرس مانند اکثر اسکریپت ها با PHP نوشته شده است. PHP نیز برای اجرا شدن درست به یک وب سرور (هاست) نیاز دارد که توابع PHP را به خوبی پشتیبانی کند. خود وب سرورها مانند یک کامپیوتر هستند که به رم (RAM) ، سی پی یو (CPU) و … نیاز دارند تا بتوانند سایت ها را میزبانی کنند. کانفیگ های وب سرور بنا بر تصمیم مدیر آن، به هر اپلیکیشن (سایت) که روی وب سرور اجرا می شود، یک میزان رم مشخص اختصاص می دهد، که آن سایت مجاز به استفاده از آن ظرفیت است.

وردپرس گاهی اوقات می تواند توسط افزونه ها یا توابع استفاده شده در قالب، میزان مصرف رم سرور را افزایش دهد. افزونه هایی مانند آنتی ویروس ها، کران جاب ها (افزونه هایی مانند خبرخوان خودکار یا وارد کننده مطالب از سایت های دیگر) و قالب های سنگین مانند سیستم های آموزشگاهی مجازی و … همگی نیاز به یک RAM بالا دارند تا بتوانند فعالیت خود را انجام دهند. دقیقا مانند یک نرم افزار روی کامپیوتر شخصی که برای اجرا و فعالیت به رم نیاز دارد، سایت و توابع بکار رفته در آن نیز به همین صورت است. اگر بخواهیم بهتر بیان کنیم، هر سایت حکم یک نرم افزار در کامپیوتر شخصی را دارد که بعضی از آنها مانند NotePad هستند و مصرف آنچنانی ندارند، و برخی از سایت ها مانند PhotoShop هستند و رم بالایی را مصرف می کنند.

Fatal error Allowed memory size WordPress Error

زمانی که سایت وردپرسی شما از حداکثر محدودیت رم قابل مصرف در سرور استفاده کند و برای ادامه عملیات خود به میزان رم بیشتری نیاز داشته باشد، و چون سرور چنین اجازه ای به شما نمی دهد، به ناچار عملیات شما را دچار اختلال می کند و مانع از ادامه فعالیت آن می شود. در اینصورت شما خطایی مانند متن زیر دریافت خواهید کرد:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home4/xxx/public_html/wp-includes/plugin.php on line xxx

البته دقت داشته باشید که مسیر فایل، میزان رم قابل مصرف و میزان رم مورد نیاز ممکن است در متن خطای شما بیشتر باشد.

در زمان بروز چنین خطایی، وردپرس سعی می کند از نهایت رم قابل استفاده، برای انجام عملیات درخواست شده شما بهره بگیرد اما اگر سرور نخواهد، شما هم نخواهید توانست! هر چند در برخی موارد، ممکن است میزان RAM که به هاست شما اختصاص داده شده، زیاد باشد اما وردپرس بنا به دلایلی نمی تواند آن را شناسایی و از آن استفاده کند.

 


راه حل

در ابتدا بهتر است یک میزان رم مشخص را به وردپرسمان معرفی کنیم. اگر مطمئن هستید که میزان رم اختصاص داده شده به هاست شما بالاست اما وردپرس توانایی بهره گرفتن از آن را ندارد، کد زیر را در فایل wp-config.php واقع در روت وردپرس قرار دهید:

define( 'WP_MEMORY_LIMIT', '256M' );

با انجام اینکار ، به احتمال زیاد شما دیگر شاهد این خطا نخواهید بود. اما در صورتی که خطا رفع نشد، این بدان معناست که هاستینگ شما اجازه افزایش میزان RAM را به سایتتان نمی دهد و باید با آنها تماس بگیرید و درخواست افزایش رم سایتتان را بدهید.

اگر سایتتان روی یک سرور اختصاصی بنا شده، خودتان می توانید توسط فایل php.ini میزان رم را مشخص کنید.

هنوز دیدگاهی ارسال نشده! نظر شما چیست؟

دیدگاه شما درباره این صفحه چیست؟