در این مقاله از وبلاگ پنل اس ام اس مدیانا توضیح میدهیم که خطای Memory Exhausted چیست، درباره اینکه چرا ممکن است در سایت وردپرس شما رخ دهد، بحث میکنیم و سپس برخی از گزینههای رفع آن را به شما معرفی میکنیم.
آنچه در این مطلب میخوانید:
خطای Memory Exhausted در وردپرس و افزایش حافظه php
اگر در نصب وردپرس خود با خطای Memory Exhausted مواجه میشوید، معمولاً به دلیل این است که حافظه اختصاص داده شده به افزونه یا اسکریپت بیش از حد مجاز است که بهعنوان پیشفرض مشخص شده است.
خطای Memory Exhausted درواقع یکی از انواع خطاهای سایت های وردپرسی است و با افزایش سقف حافظه وردپرس php اصلاح آن آسان است.
با این حال، چند مشکل وجود دارد. بسیاری از صاحبان سایتهای وردپرسی نمیدانند که کلاهک حافظه PHP چیست و یا حتی سایت آنها دارای آن است.
خطای Memory Exhausted چیست؟
اگرچه وردپرس یک پروژه منبع باز است که هزاران مشارکتکننده دارد، ولی استانداردهای زیادی برای پلتفرم و هر چیزی شامل سایتها که روی آن اجرا میشود وجود دارد. یکی از استانداردها این است که همه چیز باید با PHP نوشته شود.
PHP یک زبان برنامهنویسی سمت سرور است. یک اسکریپت – در اصطلاح توسعه وب – مجموعهای از دستورالعملهای برنامهنویسی قابل تفسیر در زمان اجرا است. زبان برنامهنویسی چیزی است که اسکریپتهای در حال اجرا را تفسیر میکند.
بنابراین، تمام شدن حافظه PHP همه چیز را خراب میکند، و زمانی که حافظه کاملاً تمام میشود، معمولاً کل سایتهای وردپرس را از کار میاندازد و صاحبان آنها را به وحشت می اندازد.
خود وردپرس سعی میکند وقتی حافظه PHP سایت در حال پرشدن است، این مشکل را برطرف کند و آن را تا 64 مگابایت افزایش دهد اما این مقدار حافظه در این روزها که سایتهای WP بسیار پیچیدهتر، با کد و محتوا بارگذاری میشوند، به ندرت کافی است.
چگونگی رفع خطای Memory Exhausted و افزایش محدودیت حافظه PHP
برای این کار باید از طریق مدیریت فایل در کنترل پنل میزبانی وب به پوشه ریشه وردپرس خود دسترسی داشته باشید.
برای پیدا کردن این فایل، وارد CP خود شوید و پوشه اصلی سایت وردپرس را پیدا کنید. آن را باز کنید، زیرا میخواهید در این فایل یک کد را قرار دهید.
کدی که باید در آن جایگذاری کنید و برای همه سایتهای وردپرس یکسان است این است:
define( ‘WP_MEMORY_LIMIT’, ‘256M’ );
شما باید آن را در یک ویرایشگر متن قرار دهید و آن را از آنجا کپی کنید.
کاری که این قطعه کد کوچک انجام میدهد این است که به نصب وردپرس شما میگوید که حافظه PHP را تا 256 مگابایت افزایش دهد، که حتی برای شلوغترین سایتها کافی است. این کار انجام شد، تغییرات خود را ذخیره کنید. خارج شوید، به سایت وردپرس خود بازگردید و همه چیز باید به حالت عادی بازگردد.
چرا حافظه PHP سایت وردپرس تمام می شود؟
همانطور که اشاره کردیم، پلاگینها، تمها، ویجتها و افزونههایی که همهی ما برای ساختن سایتهای وردپرس خود استفاده میکنیم، از منابع و حافظه زیادی استفاده میکنند. اگر محدودیت حافظه PHP کم باشد، به نقطهای میرسد که با خطای Memory Exhausted مواجه میشویم.
برخورد با یک میزبان وب بلوک php
مشکل دیگر این است که تعداد فزایندهای از شرکتهای میزبانی وب به مشتریان خود اجازه نمیدهند محدودیت PHP را خود بهتنهایی افزایش دهند. هیچ راهحلی برای این مورد وجود ندارد، تنها گزینه شما این است که با میزبان وب خود تماس بگیرید و از آنها بخواهید این کار را برای شما انجام دهند.
چرا آنها این کار را انجام می دهند؟
این مشکل معمولا برای سایتهای وردپرسی در یک طرح میزبانی اشتراکی رخ میدهد.
برنامههای PHP درحالحاضر اغلب بهطور مستقیم توسط میزبان شما در ظرفیت حافظه محدود شدهاند. باتوجه به نیازهای بالای CPU و حافظه در برخی از افزونههای وردپرس، این امر بسیار رایج شده است.
اگر افزونهها مجاز به مصرف بیش از 512 مگابایت باشند، میتوانند باعث کاهش سرعت سایتهای دیگر مشتریان شوند، بنابراین ISP محدودیتهایی را تعیین میکند. بههمین دلیل است که آنها به شما اجازه نمیدهند که اصلاح سادهای را که توضیح دادیم خودتان انجام دهید.
تنها راهحل در اینجا این است که برنامه میزبانی خود را ارتقا دهید. هنگامی طرح میزبانی اشتراکی استفاده نمیکنید، طبیعتاًISP ها به شما امکان حافظه و آزادی بیشتری را میدهند تا هر کاری که میخواهید با سایت خود انجام دهید.
هاست اختصاصی گرانتر است، بههمین دلیل بسیاری از آن اجتناب میکنند. بااینحال، اگر حافظه سایت وردپرس شما اغلب تمام میشود زیرا ISP شما آن را محدود میکند، اگر نمیخواهید چیزی را از سایت خود حذف کنید، ایجاد تغییر تنها انتخاب شما خواهد بود.
جمعبندی
مواجه شدن با یک خطا در سایت وردپرس میتواند خستهکننده باشد، بهخصوص اگر اطلاعات زیادی به شما ارائه ندهد. خوشبختانه، خطای Memory Exhausted وردپرس نسبت به سایر خطاها سازگارتر است.
برای مقابله با خطای Memory Exhausted دو گزینه اصلی دارید:
- با استفاده کدی که در مقاله مطرح شد، محدودیت حافظه سایت خود را به صورت دستی افزایش دهید.
- طرح میزبانی خود را ارتقا دهید که منابع بیشتری را برای استفاده سایت شما ارائه میدهد.
برای خرید پنل اس ام اس، وب سرویس پیامکی و افزونه پیامکی به کمک نیاز دارید؟ همین حالا با مدیانا تماس بگیرید.