رفتن به محتوای اصلی

ارور memory exhausted وردپرس

  • سینا قربانیان
  • ۸ آبان ۱۴۰۵
  • ۴ دقیقه مطالعه
  • ۰ بازدید
تصویر شاخص راهنمای رفع ارور memory exhausted وردپرس
فهرست مطالب
  1. چرا حافظه PHP تمام می‌شود؟
  2. چه کار کنیم؟
  3. کی بهتر است از متخصص کمک بگیرید؟
  4. سوالات متداول
  5. WP_MEMORY_LIMIT را کجای wp-config.php بگذارم؟
  6. چرا افزایش حافظه در wp-config اثر نداشت؟
  7. آیا ارتقای هاست همیشه لازم است؟

ارور memory exhausted وردپرس (Allowed memory size of … bytes exhausted) یعنی یک بخش از سایت بیشتر از سقف حافظه‌ای که PHP اجازه می‌دهد مصرف کرده و اجرای آن متوقف شده است. رفع کوتاه‌مدت، بالا بردن سقف حافظه با ثابت WP_MEMORY_LIMIT در wp-config.php یا از پنل هاست است؛ رفع اصلی، پیدا کردن افزونه یا فرایندی است که بی‌دلیل حافظه زیادی مصرف می‌کند.

نویسنده: تیم siloow (سیلو سولوشن) — آخرین به‌روزرسانی: آبان ۱۴۰۵

چرا حافظه PHP تمام می‌شود؟

  • سقف پایین پیش‌فرض: طبق مستندات وردپرس، وردپرس تلاش می‌کند حافظه را برای سایت تکی به ۴۰ مگابایت و برای شبکه چندسایتی به ۶۴ مگابایت برساند؛ این مقدار برای صفحه‌سازها و فروشگاه‌ها معمولاً کم است.
  • محدودیت هاست: سقف memory_limit در تنظیمات PHP هاست پایین است و وردپرس نمی‌تواند از آن بیشتر برود.
  • افزونه سنگین یا معیوب: افزونه‌های پشتیبان‌گیری، درون‌ریزی، آمار یا صفحه‌سازها در بعضی عملیات حافظه زیادی مصرف می‌کنند؛ یک باگ هم می‌تواند حلقه بی‌پایان بسازد.
  • کار سنگین در یک درخواست: مثل درون‌ریزی هزاران محصول یا پردازش تصویرهای خیلی بزرگ.

چه کار کنیم؟

  1. پیام کامل خطا را بخوانید: مسیر فایلی که در پیام آمده (مثلاً wp-content/plugins/…) معمولاً نشان می‌دهد کدام افزونه در لحظه خطا حافظه را تمام کرده است.
  2. از wp-config.php پشتیبان بگیرید و پیش از خط «That’s all, stop editing» این خط را اضافه کنید: define( 'WP_MEMORY_LIMIT', '256M' );. برای کارهای پیشخوان، ثابت WP_MAX_MEMORY_LIMIT هم وجود دارد.
  3. اگر خطا ادامه داشت، سقف حافظه PHP هاست پایین‌تر از این عدد است. از پنل هاست (بخش تنظیمات PHP یا انتخاب نسخه PHP) مقدار memory_limit را بالا ببرید یا از پشتیبانی هاست بخواهید.
  4. در «ابزارها › سلامت سایت › اطلاعات» بخش سرور را ببینید تا مطمئن شوید سقف حافظه جدید اعمال شده است.
  5. مصرف‌کننده اصلی را پیدا کنید: افزونه‌ای که در پیام خطا آمده را به‌روز کنید، تنظیماتش را سبک‌تر کنید یا جایگزین کنید. اگر فقط در یک عملیات خاص (درون‌ریزی، پشتیبان‌گیری) رخ می‌دهد، آن کار را در بخش‌های کوچک‌تر انجام دهید.
  6. اگر بعد از افزایش زیاد حافظه هم خطا ماند، احتمالاً یک باگ یا حلقه بی‌پایان در کار است؛ بالا بردن بیشتر حافظه مشکل را حل نمی‌کند.
مراحل رفع ارور memory exhausted وردپرس از خواندن پیام خطا تا افزایش حافظه و یافتن افزونه سنگین
حافظه را بالا ببرید، علت را هم پیدا کنید
وضعیتمعنیاقدام
با افزایش به ۲۵۶M رفع شدسقف قبلی برای سایت کم بودنگه داشتن مقدار جدید و پایش
با تغییر wp-config اثری نداشتسقف هاست پایین‌تر استافزایش memory_limit از هاست
فقط در یک عملیات خاصکار سنگین در یک درخواستتقسیم کار یا اجرای خارج از ساعت اوج
حتی با حافظه خیلی زیاد ادامه داردباگ یا حلقه بی‌پایانبه‌روزرسانی یا جایگزینی افزونه مقصر
تفسیر نتیجه افزایش حافظه و اقدام بعدی برای ارور memory exhausted

نکته: عدد ۲۵۶M فقط یک مقدار رایج است، نه یک قانون. حافظه را بی‌نهایت بالا نبرید؛ روی هاست اشتراکی ممکن است با محدودیت‌های حساب برخورد کند و پنهان‌کردن مشکل یک افزونه معیوب، بعداً به کندی یا قطعی می‌رسد.

اگر این خطا به صفحه سفید یا پیام خطای مهم منجر شده، پاسخ‌های صفحه سفید وردپرس و خطای ۵۰۰ وردپرس را ببینید. اگر چند افزونه در کارند، روش پیدا کردن تداخل افزونه‌ها کمک می‌کند. ثابت‌های حافظه در راهنمای wp-config وردپرس توضیح داده شده‌اند.

کی بهتر است از متخصص کمک بگیرید؟

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

اگر سایت شما ارور memory exhausted می‌دهد، فرم تماس siloow را پر کنید؛ تیم ما در اولین فرصت با شما تماس می‌گیرد.

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

WP_MEMORY_LIMIT را کجای wp-config.php بگذارم؟

قبل از خطی که می‌گوید «That’s all, stop editing» و قبل از بارگذاری wp-settings.php. اگر بعد از آن خط قرار بگیرد، اعمال نمی‌شود.

چرا افزایش حافظه در wp-config اثر نداشت؟

وردپرس نمی‌تواند از سقف memory_limit که هاست تعیین کرده بیشتر برود. باید آن سقف را از پنل هاست یا با کمک پشتیبانی میزبان بالا ببرید.

آیا ارتقای هاست همیشه لازم است؟

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

مشکل

وردپرس خطای Allowed memory size exhausted می‌دهد

علائم و نشانه‌ها

  • پیام memory exhausted، صفحه سفید، خطا در درون‌ریزی یا پشتیبان‌گیری

علت‌های احتمالی

  • سقف حافظه پایین وردپرس یا هاست، افزونه سنگین یا معیوب، عملیات حجیم

راه‌حل کوتاه

WP_MEMORY_LIMIT را در wp-config.php و در صورت نیاز memory_limit هاست را بالا ببرید و افزونه پرمصرف را اصلاح یا جایگزین کنید.

ابزارهای موردنیاز

  • wp-config.php، پنل PHP هاست، سلامت سایت وردپرس
اشتراک‌گذاری