اگر هنگام نصب افزونهای ضروری، بارگذاری یک فایل رسانهای یا حتی مدیریت بخشهای ساده سایت وردپرسی خود با پیام «Memory Limit Exceeded» روبهرو شدهاید، خطایی روی سایتتان رخ داده است. این خطا باعث میشود عملیات نیمهکاره بماند و در برخی موارد کل سایت با اختلال روبهرو شود.
خبر خوب این است که این مشکل نهتنها یکی از خطاهای وردپرس است، بلکه راهحلهای مشخصی هم دارد. در ادامه با ما همراه باشید تا نشان دهیم خطای Memory Limit Exceeded در وردپرس چرا رخ میدهد و چه راهکارهایی برای رفع و جلوگیری از آن وجود دارد.
ارور Memory Limit Exceeded چیست؟
در وردپرس هر بار که افزونهای اجرا، فایلی بارگذاری یا اسکریپتی پردازش میشود، از حافظهٔ اختصاصیافتهٔ PHP استفاده میشود. این حافظه مقدار مشخصی دارد که توسط سرور یا هاست تعیین میشود. زمانی که حجم پردازشها بیشتر از این میزان باشد، وردپرس نمیتواند ادامه دهد و پیامی با عنوان «Memory Limit Exceeded» یا عباراتی مشابه نمایش داده میشود.
به بیان ساده، این خطا یعنی سایت شما بیش از مقدار حافظهٔ مجاز درخواست کرده است. نتیجهٔ آن میتواند توقف اجرای یک افزونه، نیمهکاره ماندن عملیات بارگذاری فایل یا حتی از کار افتادن کامل بخشی از سایت باشد.
خوشبختانه این خطا بهمعنای خرابی دائمی نیست و معمولاً با تغییرات ساده در تنظیمات میتوان آن را برطرف کرد.
حالا بیایید ببینیم این خطا چرا رخ میدهد و چه عواملی باعث مصرف بیش از حد حافظه در وردپرس میشوند.
⭐ محتوای مرتبط: آموزش نحوه رفع خطای cURL28 یا Connection Timed Out |
خطای Memory Limit Exceeded چرا رخ میدهد؟
دلایل بروز این مشکل معمولاً مشخص و تکراریاند. در ادامه مهمترین آنها را بررسی میکنیم:
افزونهها و قالبهای سنگین
برخی افزونهها یا قالبها برای اجرا به منابع زیادی نیاز دارند. اگر چند افزونه سنگین را همزمان فعال کرده باشید، احتمال مصرف بیش از حد حافظه و در نتیجه بروز این خطا بیشتر میشود.
فایلهای رسانهای بزرگ
بارگذاری تصاویر یا ویدئوهای حجیم میتواند بهسرعت فضای حافظه را پر کند. این موضوع بهویژه در هاستهای اشتراکی یا سایتهایی که بهینهسازی تصاویر را جدی نمیگیرند رایج است.
دیتابیس بهینهنشده
پایگاه دادهای که حجم بالایی از دادههای قدیمی، جدولهای سنگین یا کوئریهای ناکارآمد دارد، میتواند پردازشهای وردپرس را کند و مصرف حافظه را افزایش دهد.
⭐ محتوای مرتبط: علت خطای صفحه سفید وردپرس + ۹ روش تضمینی برای رفع آن |
افزایش ناگهانی ترافیک
وقتی تعداد زیادی کاربر بهطور همزمان وارد سایت میشوند، سرور باید درخواستهای بیشتری را پاسخ دهد. این فشار اضافی میتواند از حد حافظهٔ تعریفشده فراتر برود و باعث بروز خطا شود.
محدودیتهای حافظه PHP
بخش مهمی از ماجرا به تنظیمات هاست برمیگردد. اگر سقف حافظهٔ PHP پایین باشد، حتی فعالیتهای عادی سایت هم ممکن است با خطای memory limit exceeded مواجه شوند.
📌 چگونه از میزان حافظه فعلی PHP در وردپرس مطلع شویم؟برای این کار چند روش ساده وجود دارد:
این بررسیها نشان میدهند حافظه فعلی PHP سایت چقدر است و آیا افزایش آن ضرورت دارد یا خیر. |
حالا که از وضعیت حافظه فعلی مطلع شدید، وقت آن است سراغ روشهای رفع خطای Memory Limit Exceeded در وردپرس برویم.
روشهای رفع خطای Memory Limit Exceeded در وردپرس
قبل از هر تغییر، یک نسخهٔ پشتیبان از فایلهای سایت (یا حداقل wp-config.php) و دیتابیس تهیه کنید. سپس با یکی از روشهای زیر بهصورت مرحلهبهمرحله عمل کنید؛ هر روش متناسب با سطح دسترسی شما و تنظیمات هاست قابل اجراست.
روش اول: ویرایش فایل wp-config.php
سادهترین و سریعترین روش برای بیشتر سایتهای وردپرسی، ویرایش فایل wp-config.php است. این فایل یکی از اصلیترین بخشهای پیکربندی وردپرس است و تغییر در آن میتواند بهطور مستقیم روی میزان حافظهٔ PHP تأثیر بگذارد.
وارد کنترل پنل هاست یا فایلمنیجر/FTP شوید و از مسیر ریشهٔ وردپرس (public_html یا مسیر نصب) فایل wp-config.php را پیدا کنید.
اخطار: قبل از ویرایش، یک کپی از wp-config.php دانلود و نگه دارید.
فایل را برای ویرایش باز کنید و درست قبل از خط /* That’s all, stop editing! Happy blogging. */ یکی از خطوط زیر را اضافه و فایل را ذخیره کنید:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
در آخر وارد وردپرس → ابزارها → سلامت سایت → اطلاعات سرور شوید و مقدار Memory Limit را کنترل کنید.
نکتهها و احتیاطها:
- برای سایتهای سبک 128M معمولاً کافیست؛ برای سایتهای سنگین یا هنگام اجرای فرآیندهای بزرگ (مثل ایمپورت یا بکاپ) 256M منطقی است.
- اگر پس از اعمال تغییر هنوز مقدار تغییر نکرده باشد، ممکن است میزبان تغییرات از طریق wp-config.php را محدود کرده باشد؛ در این صورت از روشهای بعدی یا پشتیبانی میزبان کمک بگیرید.
اگر ترجیح میدهید تغییرات را از طریق یک نرمافزار مدیریت فایل روی کامپیوتر انجام دهید، روش بعدی برای شما مناسبتر است.
روش دوم: استفاده از FileZilla
در این روش میتوانید به کمک نرمافزارهایی مثل FileZilla به فایلهای هاست دسترسی داشته باشید. مزیت این روش این است که بدون نیاز به ورود به کنترلپنل هاست، امکان مدیریت فایلها را روی کامپیوتر خود دارید و در صورت بروز مشکل میتوانید سریعتر نسخهٔ پشتیبان را بازیابی کنید.
- FileZilla را باز کنید و با اطلاعات FTP/SFTP خود به سرور متصل شوید.
- به پوشهٔ نصب وردپرس (معمولاً public_html) بروید و فایل wp-config.php را در سمت سرور پیدا کنید.
اخطار: ابتدا فایل را بهعنوان بکاپ روی کامپیوترتان دانلود کنید.
- فایل را با یک ویرایشگر متن (مثلاً Notepad++ یا VS Code) باز کنید و خطوط معرفیشده در روش اول را اضافه کنید (قبل از خط پایانی تنظیمات).
- فایل اصلاحشده را دوباره به سرور آپلود کنید و در صورت لزوم جایگزین فایل قدیمی نمایید.
- دسترسی فایل را بررسی کنید (معمولاً ۶۴۴).
در نهایت تغییرات را با روش بررسی (Site Health یا phpinfo) تأیید کنید.
نکته: اگر تمایل دارید تغییراتی در php.ini یا user.ini اعمال کنید (در صورتی که هاست به شما اجازه بدهد)، میتوانید همان اتصال FTP را برای ویرایش/بارگذاری فایلهای پیکربندی PHP استفاده کنید؛ اما اغلب در هاستهای اشتراکی امکان دسترسی مستقیم به php.ini وجود ندارد.
روش سوم: از طریق سیپنل
سیپنل یکی از رایجترین پنلهای مدیریت هاست است و تقریباً همه ابزارهای لازم برای تغییر تنظیمات حافظه PHP را در اختیار شما میگذارد. چه از بخش File Manager برای ویرایش مستقیم فایلها استفاده کنید و چه از MultiPHP INI Editor برای تغییر مستقیم مقدار memory_limit، این روش یکی از مطمئنترین گزینهها برای کاربران هاست اشتراکی بهشمار میرود.
در سیپنل دو راه برای تغییر مقدار memory_limit دارید:
الف) ویرایش سریع با File Manager
- وارد سیپنل شوید.
- به File Manager → مسیر نصب وردپرس (public_html) بروید.
- روی wp-config.php راستکلیک و گزینهٔ Edit را انتخاب کنید.
- پس از تهیهٔ بکاپ، خطوط افزایش حافظه را مانند روش اول اضافه و ذخیره کنید.
ب) استفاده از MultiPHP INI Editor (برای تنظیم مستقیم memory_limit)
- در سیپنل به بخش Software → MultiPHP INI Editor بروید.
- دامنه یا پوشهٔ موردنظر را انتخاب کنید.
- مقدار memory_limit را به مثلاً 256M تغییر دهید و Save کنید
- در برخی هاستها ممکن است لازم باشد سرویس PHP-FPM ریست شود یا کش سرور پاک شود؛ در این موارد از پشتیبانی هاست کمک بخواهید.
نکته: MultiPHP INI Editor روش قابلاعتمادتری است چون مستقیماً مقدار memory_limit در پیکربندی PHP را تغییر میدهد؛ اگر این گزینه در سیپنل شما وجود نداشت، احتمالاً دسترسی محدود است و باید با پشتیبانی میزبان تماس بگیرید.
بعد از اینکه یکی از روشهای افزایش memory limit وردپرس را انجام دادید، لازم است مطمئن شوید تغییرات واقعاً اعمال شدهاند. این مرحله به شما کمک میکند از نتیجه درست کار مطمئن شوید و اگر هنوز مشکلی وجود دارد، سریعتر آن را شناسایی کنید.
- در وردپرس: مسیر ابزارها → سلامت سایت → اطلاعات → سرور را بررسی کنید؛ مقدار Memory Limit باید بهروزرسانی شده باشد.
- با ساخت یک فایل phpinfo.php (کد <?php phpinfo(); ?>) در ریشه سایت، مقدار memory_limit را در خروجی پیاچپی بررسی کنید.
- عملیاتی که پیشتر خطا میداد (مثلاً نصب افزونه یا بارگذاری فایل) را دوباره اجرا کنید تا از رفع مشکل اطمینان حاصل شود.
در کنار بررسی نتیجه، توجه به چند نکته احتیاطی و رعایت بهترین شیوهها هم اهمیت زیادی دارد.
📌 نکات تکمیلی درباره افزایش memory limit وردپرس
رعایت این نکات ساده میتواند کمک کند تغییرات شما پایدار و بدون دردسر باشد:
|
حالا آمادهاید تا هر یک از این روشها را اجرا کنید؛ در ادامه میرویم سراغ راهکارهای پیشگیرانه و مدیریت مصرف حافظه در بلندمدت.
جلوگیری از ارور memory limit exceeded وردپرس
افزایش memory limit وردپرس میتواند مشکل را برای مدتی حل کند، اما اگر مصرف حافظه بهدرستی مدیریت نشود، خطا دوباره برمیگردد. بنابراین بهتر است با رعایت چند نکته ساده و اصولی، استفاده از منابع سرور را بهینه کنید تا احتمال بروز خطا به حداقل برسد.
۱. استفاده از افزونهها و قالبهای بهینه و سبک
پیش از نصب هر افزونه یا قالب، مطمئن شوید کدنویسی استاندارد و بهینهای دارند. بهتر است ابتدا آنها را در یک محیط آزمایشی تست کنید و بررسی کنید که آیا باعث افزایش مصرف حافظه میشوند یا خیر.
۲. بهینهسازی تصاویر و فایلهای رسانهای
بارگذاری تصاویر بزرگ یکی از عوامل اصلی مصرف بیش از حد حافظه است. با استفاده از ابزارهای فشردهسازی تصاویر یا افزونههای بهینهسازی، میتوانید حجم فایلهای رسانهای را کاهش دهید بدون آنکه کیفیتشان افت کند.
⭐ محتوای مرتبط: حالت دیباگ وردپرس چیست؟ (+ نحوه فعالسازی آن) |
۳. بهینهسازی دیتابیس
دیتابیس سنگین یا شلوغ باعث کندی پردازش و مصرف بیشتر حافظه میشود. پاکسازی دادههای اضافی مانند پیشنویسهای خودکار، رونوشتهای قدیمی و جدولهای بدون استفاده میتواند عملکرد سایت را بهطور چشمگیری بهبود دهد.
۴. استفاده از کشینگ و CDN
افزودن سیستم کشینگ در وردپرس باعث میشود صفحات ذخیرهشده بهجای پردازش مجدد از حافظه ارائه شوند. همچنین استفاده از CDN بار ترافیک و پردازش را بین چند سرور تقسیم میکند و فشار کمتری بر حافظهٔ هاست وارد خواهد شد.
۵. آپدیت منظم وردپرس، افزونهها و قالبها
نسخههای قدیمی ممکن است باگها یا مشکلاتی داشته باشند که منجر به مصرف بالای حافظه شوند. بهروزرسانی منظم به شما کمک میکند از نسخههای پایدارتر و بهینهتر استفاده کنید.
۶. نظارت منظم بر میزان مصرف حافظه
بررسی دورهای وضعیت مصرف منابع از طریق بخش سلامت سایت یا ابزارهای مانیتورینگ، به شما کمک میکند پیش از بروز خطا مشکل را شناسایی و رفع کنید.
۷. استفاده از سرویس میزبانی مناسب
انتخاب هاست بهینهشده برای وردپرس میتواند تفاوت بزرگی ایجاد کند. اگر از هاست اشتراکی با منابع محدود استفاده میکنید و خطاهای مکرر حافظه دارید، ارتقاء به یک سرویس قدرتمندتر مثل هاست وردپرس لیموهاست میتواند راهکاری پایدار برای رفع مشکل باشد.
شروع قیمت از
۲۹۰ هزار تومان
مدیریت هوشمندانه حافظه برای یک وردپرس پایدار
خطای Memory Limit Exceeded در وردپرس اگرچه در نگاه اول نگرانکننده به نظر میرسد، اما با چند تغییر ساده و اصولی میتوان آن را کنترل و برطرف کرد. نکتهٔ کلیدی در برخورد با این خطا، درک علت بروز آن و انتخاب بهترین روش برای افزایش یا مدیریت حافظهٔ PHP است؛ چه از طریق ویرایش فایلهای پیکربندی و چه با استفاده از ابزارهایی که هاست در اختیار شما قرار میدهد.
البته، فراموش نکنید که پیشگیری اهمیت بیشتری دارد. پس اگر میخواهید سایت وردپرسی شما در بلندمدت سریع و قابلاعتماد عمل کند، باید همواره وضعیت حافظه و منابع سرور را زیر نظر داشته باشید و در صورت نیاز، میزبانی متناسب با نیاز واقعی سایت خود را انتخاب کنید.
اگر سوالی دارید، در قسمت نظرات با ما در ارتباط باشید.
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید