آموزش رفع خطای میزان حافظه در وردپرس و افزایش رم
آیا تا به حال با آن لحظه دلهرهآور مواجه شدهاید که در حال نصب یک افزونه جدید یا بارگذاری یک تصویر باکیفیت هستید و ناگهان صفحه سفید مرگ یا پیامی ترسناک با عنوان “Fatal error: Allowed memory size of…” ظاهر میشود؟ اگر پاسخ مثبت است، نگران نباشید؛ شما تنها نیستید. این یکی از رایجترین چالشهایی است که مدیران سایتهای وردپرسی، از مبتدی تا حرفهای، با آن دست و پنجه نرم میکنند. خطای کمبود حافظه (Memory Limit Exceeded) دقیقاً مثل این است که سعی کنید یک لیوان بزرگ آب را در یک فنجان کوچک اسپرسو بریزید؛ سرریز میشود و همه چیز را به هم میریزد.

در این مقاله جامع، میخواهیم بفهمیم چرا وردپرس نازنین ما گاهی اینقدر تشنه حافظه میشود و چطور میتوانیم این تشنگی را به صورت اصولی و حرفهای برطرف کنیم. چه از هاستهای اشتراکی معمولی استفاده کنید و چه سرورهای قدرتمند مجهز به CloudLinux، راهکارهای دقیقی برای آموزش رفع خطای میزان حافظه در وردپرس و افزایش حافظه رم وردپرس آماده کردهایم.
خطای میزان حافظه وردپرس چیست و چه زمانی رخ میدهد؟
قبل از اینکه آچار و پیچگوشتی را برداریم و به جان فایلهای سایت بیفتیم، بیایید دقیقاً بفهمیم که با چه چیزی طرف هستیم. وردپرس یک سیستم مدیریت محتوا (CMS) است که با زبان برنامهنویسی PHP نوشته شده است. PHP یک زبان سمت سرور است، به این معنی که برای اجرا شدن نیاز به منابع سختافزاری سرور دارد. یکی از حیاتیترین این منابع، حافظه موقت یا همان RAM است.
تصور کنید سرور شما یک میز کار است و PHP کارگری است که روی آن میز کار میکند. PHP Memory Limit یا محدودیت حافظه PHP، دقیقاً به اندازه آن میز کار اشاره دارد. وقتی شما یک درخواست به سایت میفرستید (مثلاً باز کردن پیشخوان وردپرس)، PHP شروع به چیدن پروندهها (اسکریپتها) روی این میز میکند. حالا اگر افزونههای سنگین نصب کرده باشید یا قالبتان کدهای پیچیدهای داشته باشد، پروندهها آنقدر زیاد میشوند که دیگر جایی روی میز باقی نمیماند. اینجاست که هاست فریاد میزند: «جا ندارم!» و فرآیند پردازش را متوقف میکند.
این خطا معمولاً زمانی رخ میدهد که شما از محدودیت پیشفرض تعیین شده توسط ارائهدهنده هاست یا خود وردپرس فراتر بروید. هاستینگها برای اینکه یک سایت نتواند کل منابع سرور را ببلعد و باعث کندی سایر سایتها شود، یک سقف مصرف رم (مثلاً ۶۴ یا ۱۲۸ مگابایت) برای هر اکانت تعیین میکنند. وقتی اسکریپتهای شما بیش از این مقدار فضا طلب کنند، خطای معروف رخ میدهد.
نشانههای خطا کمبود حافظه در وردپرس
تشخیص خطای کمبود حافظه همیشه آسان نیست، زیرا گاهی اوقات خودش را پشت چهرههای متفاوتی پنهان میکند. اما شایعترین نشانهها عبارتند از:
پیش نیازهای افزایش حافظه
دسترسی به فایلهای وردپرس
برای اعمال تغییرات، ما نیاز داریم که فایلهای هسته وردپرس یا تنظیمات سرور را ویرایش کنیم. شما نمیتوانید این کار را از داخل پیشخوان وردپرس انجام دهید (چون احتمالاً پیشخوان اصلاً باز نمیشود یا اگر بشود، جای امنی برای این تغییرات نیست).
استفاده از FTP یا File Manager
دو راه اصلی برای دسترسی به فایلها وجود دارد:
دسترسی به CPanel
بسیاری از روشهای مدرن افزایش حافظه، به خصوص در هاستهای اشتراکی امروزی، از طریق تنظیمات داخلی cPanel انجام میشود و نیازی به کدنویسی ندارد. پس مطمئن شوید که نام کاربری و رمز عبور ورود به cPanel خود را دارید. اگر ندارید، ایمیلی که هنگام خرید هاست دریافت کردهاید را چک کنید یا با پشتیبانی هاستینگ خود تماس بگیرید. دسترسی به سیپنل کلید طلایی ما برای ورود به بخشهای پیشرفتهای مثل “Select PHP Version” است که در ادامه مفصل توضیح خواهیم داد.
آموزش رفع خطای میزان حافظه در وردپرس و افزایش رم
حالا که آمادهایم، بیایید آستینها را بالا بزنیم. ما سه روش اصلی را از آسانترین و استانداردترین روش تا روشهای خاص سرور بررسی میکنیم. توصیه میکنم روشها را به ترتیب امتحان کنید.
روش اول: ویرایش فایل wp-config.php
این اولین و استانداردترین قدم برای افزایش PHP Memory Limit در خودِ وردپرس است. با این کار، ما به وردپرس میگوییم: «هی! لطفاً خجالت نکش و تا جایی که سرور اجازه میدهد، از رم استفاده کن.»
define( 'WP_MEMORY_LIMIT', '256M' );
نکته حرفهای: شما میتوانید یک خط کد دیگر هم برای بخش مدیریت اضافه کنید تا از کندی پیشخوان جلوگیری کنید:
define( ‘WP_MAX_MEMORY_LIMIT’, ‘256M’ );
روش دوم: تغییر تنظیمات PHP در CPanel
این بخش دقیقاً همانجایی است که بسیاری از آموزشهای قدیمی شما را گمراه میکنند. در گذشته، ما فایل php.ini را دستی میساختیم. اما امروزه اکثر هاستینگهای حرفهای از سیستم عامل CloudLinux استفاده میکنند. در این سیستمها، فایلهای محلی مثل php.ini اغلب نادیده گرفته میشوند و شما باید از ابزار گرافیکی خود سیپنل استفاده کنید.
اگر هاست شما از CloudLinux استفاده میکند (که اگر هاست وردپرس خریده باشید، احتمالاً همینطور است)، این موثرترین و صحیحترین روش است.
هاستهای CloudLinux و Select PHP Version
در این نوع هاستها، هر کاربر در یک محیط ایزوله قرار دارد و تنظیمات PHP از طریق یک رابط کاربری اختصاصی کنترل میشود. تغییر دستی فایلها در اینجا معمولاً کار نمیکند چون تنظیمات اصلی سرور بر فایلهای شما اولویت دارند.
برای انجام این کار مراحل زیر را طی کنید:
چرا این روش بهتر است؟ چون مستقیماً تنظیمات هسته PHP اختصاص یافته به اکانت شما را تغییر میدهد و هیچ فایل اضافهای در روت سایت شما ایجاد نمیکند که بعداً باعث تداخل شود. اگر این گزینه را در سیپنل خود ندارید، یعنی هاست شما از سیستم سنتی استفاده میکند و باید به سراغ روش سوم بروید.
روش سوم: استفاده از فایل php.ini (در صورت امکان)
اگر روش اول و دوم کارساز نبود، یا هاست شما دسترسی Select PHP Version را نداشت، باید دست به دامان روش کلاسیک شویم. این روش بیشتر در سرورهای مجازی (VPS) یا هاستهای اشتراکی قدیمیتر کاربرد دارد.
نکته مهم درباره فایل .htaccess: گاهی اوقات سرور اجازه خواندن php.ini را نمیدهد. در این شرایط، میتوانید شانس خود را با فایل .htaccess امتحان کنید. این فایل در همان public_html است (اگر مخفی است، از تنظیمات فایل منیجر تیک Show Hidden Files را بزنید). کد زیر را به انتهای آن اضافه کنید:
php_value memory_limit 256M
زیرساخت قدرتمند؛ راهکاری برای طراحان و مدیران سایتها
بیایید روراست باشیم؛ تغییر دستی کدها و سروکله زدن با فایلهای سیستمی برای هر پروژه، وقت و انرژی زیادی از ما میگیرد. اگر شما یک توسعهدهنده، طراح سایت یا آژانس دیجیتال هستید که مدیریت چندین سایت وردپرسی را بر عهده دارید، برخورد مداوم با خطای Memory Limit در هاستهای اشتراکی ضعیف میتواند کابوس شبانهتان باشد.
گاهی اوقات مشکل از کدهای شما نیست، بلکه از سیاست هاستینگ در تخصیص منابع است! برای کسانی که به دنبال کیفیت و آسودگی خاطر هستند، انتخاب یک سرویس نمایندگی که معماری آن برای وردپرس بهینه شده باشد، حکم نوشدارو را دارد.
سرویس نمایندگی هاست وردپرس لاراتاندر دقیقاً با درک همین چالشها طراحی شده است. لاراتاندر با ارائه منابع پردازشی، حافظه بالا و استفاده از سیستمعامل بهینهای مثل CloudLinux که در بالا توضیح دادیم، به شما اجازه میدهد تا مدیریت منابع رم و PHP را برای تمام مشتریان خود به سادگی و بدون درگیر شدن با خطاهای کلافهکننده انجام دهید. اگر میخواهید به جای دیباگ کردن خطاهای سرور، روی توسعه کسبوکار خود و مشتریانتان تمرکز کنید، پیشنهاد میکنم حتماً پلنهای نمایندگی لاراتاندر را بررسی کنید؛ جایی که قدرت سختافزاری با بهینهسازی نرمافزاری ادغام شده است.
کلام پایانی
خطای Memory Limit Exceeded در وردپرس، پایان دنیا نیست؛ بلکه هشداری است که نشان میدهد سایت شما در حال رشد است یا نیاز به خانهتکانی دارد. ما در این آموزش یاد گرفتیم که چگونه با ویرایش فایل wp-config.php درخواست افزایش رم بدهیم و مهمتر از آن، یاد گرفتیم که در هاستهای مدرن با سیستم عامل CloudLinux، باید از ابزار Select PHP Version در سیپنل استفاده کنیم تا تغییرات واقعاً اعمال شوند.


