های بلاگ
  • صفحه اصلی
  • خانه وبلاگ
  • دسته بندی ها
    • جذاب ترین ها
      جذاب ترین مطالب
    • های تیوب
      انواع ویدئوهای آموزشی
    • های ‌کست
      انواع پادکست های جذاب
    • های کادمی
      آموزش ها و ترفندهای وب
  • درباره ما
  • ارتباط با ما
FA
EN
RU
زبان سایت:
FA
EN
RU
آمار نوشته
ندارد
دسته بندی
Mina Seyfollahi
نویسنده
21 خرداد 1404
تاریخ انتشار
76
بازدید
FA
EN
RU
زبان ها
آموزش رفع خطای Memory Limit Exceeded در وردپرس

آموزش رفع خطای Memory Limit Exceeded در وردپرس

سر تیتر های مقاله

آمار نوشته
  1. خطای Memory Limit چیست؟
  2. روش‌های رفع خطای Memory Limit
  3. نکات مهم برای رفع خطای Memory Limit در وردپرس
  4. جمع‌بندی

خطای “Memory Limit Exceeded” در وردپرس یکی از رایج‌ترین خطاهایی است که بسیاری از کاربران هنگام نصب افزونه‌ها، قالب‌ها یا اجرای عملیات سنگین مانند ایمپورت دمو با آن مواجه می‌شوند. این خطا معمولاً به شکل زیر نمایش داده می‌شود:

Fatal error: Allowed memory size of x bytes exhausted

در این آموزش، دلایل بروز این خطا را بررسی کرده و روش‌های کاربردی برای رفع آن را مرحله به مرحله توضیح می‌دهیم.

خطای Memory Limit چیست؟

وردپرس برای اجرای فایل‌ها و پردازش اطلاعات به حافظه (RAM) نیاز دارد. این حافظه توسط تنظیمات PHP محدود شده است. اگر یک پلاگین یا فرآیند از این مقدار فراتر برود، با خطای “Memory Limit Exceeded” مواجه می‌شوید.این خطا دقیقاً به چه معناست؟

وردپرس برای اجرا به زبان برنامه‌نویسی PHP متکی است. PHP نیز مانند هر نرم‌افزار دیگری برای اجرا به میزان مشخصی از حافظه (Memory) نیاز دارد. در سرورهای میزبانی، برای جلوگیری از مصرف بیش‌ازحد منابع، به هر برنامه مقدار محدودی حافظه اختصاص داده می‌شود.

وقتی بار سایت شما بالا می‌رود یا تعداد افزونه‌های نصب‌شده زیاد می‌شود، این حافظه ممکن است پر شده و PHP دیگر نتواند پردازش را ادامه دهد. در نتیجه، با خطای Memory Limit مثل زیر مواجه می‌شوید:

خطای Memory Limit

علائم رایج خطای Memory Limit:

  • خطای سفید صفحه (White Screen of Death)
  • ناتوانی در نصب قالب یا افزونه
  • خطا هنگام ورود به پیشخوان وردپرس
  • توقف در حین بارگذاری رسانه یا فایل‌ها

روش‌های رفع خطای Memory Limit

1. افزایش حافظه از طریق فایل wp-config.php

  • وارد هاست شوید و فایل wp-config.php را ویرایش کنید.
  • قبل از خط /* That's all, stop editing! Happy publishing. */ کد زیر را اضافه کنید:
define('WP_MEMORY_LIMIT', '256M');

مقدار 256M به معنای اختصاص 256 مگابایت حافظه است. اگر مشکل حل نشد، می‌توانید آن را به 512M افزایش دهید.

2. افزایش حافظه از طریق فایل .htaccess

اگر هاست شما از Apache استفاده می‌کند، می‌توانید فایل .htaccess را در ریشه سایت باز کرده و خط زیر را اضافه کنید:

php_value memory_limit 256M

در برخی هاست‌ها این روش غیرفعال است و ممکن است منجر به خطای ۵۰۰ شود؛ پس با احتیاط استفاده کنید.

3. افزایش حافظه از طریق فایل php.ini

در هاست‌هایی که دسترسی به فایل php.ini دارید (مخصوصاً در VPS یا سرورهای اختصاصی)، می‌توانید این فایل را ویرایش کرده و خط زیر را اضافه یا مقدارش را افزایش دهید:

memory_limit = 256M

در صورتی که فایل php.ini وجود ندارد، می‌توانید آن را ایجاد کنید و در دایرکتوری اصلی وردپرس قرار دهید.

4. استفاده از cPanel (در هاست‌هایی با کنترل پنل)

  • وارد cPanel شوید
  • به بخش Select PHP Version یا MultiPHP INI Editor بروید
  • حافظه PHP را در قسمت memory_limit به 256M یا بیشتر افزایش دهید

5. تماس با پشتیبانی هاست

اگر هیچ‌کدام از روش‌های بالا مؤثر نبود، احتمالاً دسترسی شما برای تغییر memory محدود شده است. در این صورت:

  • با پشتیبانی هاست تماس بگیرید
  • درخواست افزایش PHP Memory Limit به مقدار مورد نیاز (مثلاً 512M) را مطرح کنید

نکات مهم برای رفع خطای Memory Limit در وردپرس

رفع خطای “Allowed memory size exhausted” فقط به افزایش حافظه PHP ختم نمی‌شود. برای جلوگیری از بازگشت مجدد این خطا و حفظ عملکرد بهینه سایت، رعایت نکات زیر بسیار مهم است:

۱. همیشه قبل از هر تغییری، از سایت نسخه پشتیبان تهیه کنید

قبل از ویرایش فایل‌هایی مانند wp-config.php یا غیرفعال‌سازی افزونه‌ها، حتماً یک Backup کامل از فایل‌ها و دیتابیس سایت تهیه کنید.

ابزارهای پیشنهادی برای تهیه نسخه پشتیبان:

  • UpdraftPlus
  • All-in-One WP Migration
  • یا از بخش Backup در کنترل پنل هاست (CPanel یا DirectAdmin)

در صورت بروز خطا یا خراب شدن سایت پس از اعمال تغییرات، به‌راحتی می‌توانید سایت را به حالت قبل برگردانید.

۲. از قالب‌ها و افزونه‌های سبک و بهینه استفاده کنید

قالب‌ها و افزونه‌های سنگین یا ضعیف بهینه‌سازی‌شده، یکی از دلایل اصلی مصرف بیش از حد منابع هستند.

پیشنهادات:

  • از قالب‌های حرفه‌ای، سبک و دارای پشتیبانی فعال استفاده کنید (مثل: Astra، GeneratePress، Hello Elementor)
  • افزونه‌هایی با کدنویسی تمیز و سازگار با آخرین نسخه PHP و وردپرس را انتخاب کنید.
  • از نصب افزونه‌های متفرقه، نال‌شده یا بدون آپدیت خودداری کنید.

۳. مصرف حافظه افزونه‌ها را بررسی کنید

برخی از افزونه‌ها مخصوصاً افزونه‌های صفحه‌ساز (Page Builder) یا دمو ایمپورترها، حافظه زیادی مصرف می‌کنند.

ابزارهایی برای بررسی مصرف منابع:

  • افزونه Query Monitor (برای مشاهده منابع مصرفی افزونه‌ها)
  • بررسی کنسول مرورگر و منابع بارگذاری‌شده در Network tab
  • ابزارهای مانیتورینگ هاست (مثل ابزار Resource Usage در CPanel)

افزونه‌هایی که ممکن است حافظه زیادی مصرف کنند:

  • Elementor و ویجت‌های افزودنی آن
  • WPBakery Page Builder
  • Revolution Slider یا LayerSlider
  • افزونه‌های ایمپورت دمو یا بسته نصبی سنگین
  • ووکامرس به همراه تعداد زیادی افزودنی

اگر افزونه‌ای بیش از حد حافظه مصرف می‌کند، بهتر است با گزینه سبک‌تر جایگزین شود یا تنظیمات آن بهینه‌سازی شود.

۴. حداقل حافظه پیشنهادی برای سایت‌های فروشگاهی و چندزبانه

سایت‌هایی که افزونه‌های سنگینی مثل ووکامرس، WPML یا ابزارهای رزرو، ایمیل مارکتینگ و گزارش‌گیری دارند، به حافظه بیشتری نیاز دارند.

نوع سایتحداقل حافظه PHP پیشنهادی
سایت شخصی یا شرکتی ساده128MB
سایت وبلاگی با ترافیک متوسط256MB
فروشگاهی یا چندزبانه (WooCommerce + WPML)512MB
سایت با ایمپورت‌های سنگین یا گزارش‌گیری768MB یا بیشتر

تنظیم WP_MEMORY_LIMIT و WP_MAX_MEMORY_LIMIT متناسب با نوع سایت ضروری است. همچنین بررسی کنید هاست شما این سطح از منابع را پشتیبانی کند.

نکات تکمیلی برای پیشگیری از ارور در آینده:

  • نسخه PHP هاست را به آخرین نسخه پایدار ارتقا دهید (معمولاً PHP 8.1 یا 8.2).
  • از کش کردن صفحات و فایل‌ها برای کاهش بار روی PHP استفاده کنید (افزونه‌هایی مثل LiteSpeed Cache یا WP Rocket).
  • سیستم Cron وردپرس را بهینه یا غیرفعال کرده و از سیستم کرون سرور استفاده کنید.
  • لاگ‌های خطای PHP را بررسی و از خطاهای مزمن جلوگیری کنید (error_log در روت سایت یا داخل public_html).

جمع‌بندی

خطای Memory Limit نشان‌دهنده کمبود حافظه PHP برای اجرای اسکریپت‌های وردپرس است. با افزودن چند خط کد به فایل‌های اصلی یا تغییر تنظیمات در پنل مدیریت هاست، می‌توانید این مشکل را در کمتر از چند دقیقه برطرف کنید. اگر هم وب سایت خود را تازه راه اندازی کرده اید محتوای راهنمای جامع راه اندازی سایت قدم به قدم: حتما بخوانید! را حتما مطالعه کنید.

در صورت نیاز به پشتیبانی یا عدم دسترسی به برخی فایل‌ها، بهترین کار تماس با پشتیبانی هاست و درخواست افزایش حافظه برای عدم ایجاد خطای Memory Limit است.

سؤالات متداول

1. خطای Memory Limit دقیقاً چه معنایی دارد؟

خطای Memory Limit نشان می‌دهد که اسکریپت‌های PHP سایت شما بیش از مقدار مجاز حافظه مصرف کرده‌اند. در نتیجه، پردازش PHP متوقف شده و خطا نمایش داده می‌شود.

2. چرا خطای Memory Limit بیشتر در هاست‌های اشتراکی اتفاق می‌افتد؟

در هاست‌های اشتراکی، منابع سرور مانند RAM و CPU بین چند سایت تقسیم می‌شود. بنابراین مقدار حافظه‌ای که به هر سایت تعلق می‌گیرد محدود است و در صورت فشار بیش‌ازحد روی سایت، این محدودیت نمایان می‌شود.

3. افزایش حافظه PHP خطری برای سایت ندارد؟

اگر با مقدار منطقی و متناسب انجام شود، خیر. اما اختصاص حافظه بیش از حد (مثلاً بیش از 1GB بدون دلیل فنی) ممکن است باعث اختلال در عملکرد کلی سرور شود. همیشه از اعداد بهینه و تست‌شده استفاده کنید (مثلاً 256M یا 512M).

4. آیا با افزایش حافظه مشکل برای همیشه حل می‌شود؟

خیر، اگر علت اصلی مصرف حافظه همچنان باقی بماند (مثلاً افزونه‌ای سنگین یا تنظیمات نادرست)، خطا ممکن است دوباره ظاهر شود. افزایش حافظه یک راه‌حل فوری است، اما باید علت اصلی مصرف زیاد منابع را نیز شناسایی و رفع کنید.

5. چگونه متوجه شویم کدام افزونه یا قالب مصرف حافظه بالایی دارد؟

می‌توانید از افزونه‌هایی مثل Query Monitor استفاده کنید تا پردازش‌های سنگین، کوئری‌های کند یا افزونه‌هایی با مصرف زیاد منابع را شناسایی کنید.

6. آیا امکان دارد شرکت هاستینگ اجازه افزایش حافظه را ندهد؟

بله. برخی شرکت‌های هاستینگ برای حفظ پایداری سرور، سقف مشخصی برای حافظه PHP تعیین می‌کنند. اگر تغییر دستی مؤثر نبود، باید با پشتیبانی هاست تماس بگیرید و درخواست افزایش حافظه دهید.

7. آیا نسخه PHP روی این خطا تأثیر دارد؟

بله، نسخه‌های جدیدتر PHP عملکرد بهتری دارند و حافظه را بهینه‌تر مصرف می‌کنند. توصیه می‌شود از آخرین نسخه پایدار (مثلاً PHP 8.1 یا بالاتر) استفاده کنید.

8. چطور بفهمم الان حافظه PHP سایت من چقدر است؟

می‌توانید با نصب افزونه‌ای مانند Site Health یا اجرای تابع phpinfo() در فایل PHP مجزا، مقدار فعلی حافظه (memory_limit) را مشاهده کنید.

به اشتراک گذاری نوشته
hidata.org/blog/fix-wordpress-memory-exhausted-error/
کپی لینک
در شبکه اجتماعی

افزودن دیدگاه

درحال پاسخ هستید به
captcha
هاست اشتراکی
  • هاست سی پنل پربازدید
  • هاست سی پنل حرفه ای
  • هاست دانلود
سرور اختصاصی
  • سرور اختصاصی ایران
  • سرور اختصاصی اروپا
  • سرور اختصاصی روسیه
درباره های دیتا
های دیتا
HiData
های‌دیتا از فروردین ۱۳۹۳ با تکیه بر زیرساخت قدرتمند و گرانقیمت در برترین دیتاسنترهای ایران و جهان، میزبان هزاران کسب‌وکار آنلاین است. ما با بهره‌گیری از سرورهای نسل جدید مجهز به پردازنده‌های پرتوان، شبکه‌ای پرظرفیت و سیاست سخت‌گیرانه در امنیت داده‌ها، نیازهای میزبانی شما را با بالاترین استاندارد پاسخ می‌دهیم. پشتیبانی ۲۴‌ساعته ما از طریق تیکت و تماس تلفنی همیشه کنار شماست. سرعت، پایداری و آرامش خاطر نه شعار، بلکه هویت های‌دیتاست.
سرور مجازی
  • سرور مجازی SATA ایران
  • سرور مجازی NVMe ایران
  • سرور مجازی NVMe آلمان
  • سرور مجازی NVMe روسیه
  • سرور مجازی SSD ترکیه
  • سرور مجازی ابری
  • سرور مجازی حجیم
دیگر خدمات
  • ثبت دامنه
  • کانفیگ سرور
  • لایسنس های سیستمی
  • گواهینامه SSL
شماره تماس 1: 90009019
های تیوب های کادمی های کست های بلاگ
آدرس
دفتر مرکزی: ابهر، خیابان امام خمینی، مجتمع تجاری طلا، طبقه 2، واحد 8
شماره های تماس
90009019
پـشـتـیـبـانـــی ۲۴ سـاعـتــــــه
ایمیل پشتیبانی: info@hidata.org
© 2025 HiData
All rights reserved for hidata.org
فروشگاه قطعات سرور های‌دیتا استور
تامین قطعات سرورها در داخل کشور