Warning: Undefined array key "options" in /home/u304616383/domains/motkhases.com/public_html/support/wp-content/plugins/elementor-pro/modules/theme-builder/widgets/site-logo.php on line 194
الرئيسية » أخطاء ووردبريس » كيفية إصلاح خطأ Allowed Memory Size Exhausted في ووردبريس

كيفية إصلاح خطأ Allowed Memory Size Exhausted في ووردبريس

دعم متخصص | كيفية إصلاح خطأ Allowed Memory Size Exhausted في ووردبريسإصلاح خطأ Allowed Memory Size Exhausted في ووردبريس

حل مشكلة Allowed Memory Size Exhausted في ووردبريس

المشكلة: يظهر خطأ Allowed Memory Size Exhausted عندما تستنفد PHP كامل الذاكرة المسموح بها وتفشل في تنفيذ المهمة المطلوبة. الخطأ شائع جدًا في ووردبريس خاصة عند رفع الملفات، تشغيل إضافات ثقيلة، أو تنفيذ استعلامات معقدة. لحسن الحظ يمكن حل المشكلة بسهولة عبر مجموعة خطوات بسيطة قبل اللجوء للحلول التقنية المتقدمة.

لماذا يظهر خطأ Allowed Memory Size Exhausted؟

الخطأ يحدث بسبب استهلاك أكثر من قيمة memory_limit في PHP. الأسباب الأكثر شيوعًا هي:

  • استهلاك كبير للذاكرة من إضافة معينة مثل WooCommerce أو Elementor أو WPML.
  • قالب غير محسن يقوم بتحميل ملفات ضخمة أو استعلامات ثقيلة.
  • إعداد memory_limit منخفض جدًا (مثل 128M أو أقل).
  • استعلامات قاعدة بيانات بطيئة تؤدي لاستهلاك الذاكرة تدريجيًا.
  • تسريبات ذاكرة Memory Leaks من أكواد PHP أو إضافات poorly coded.
  • مشاكل في الخادم مثل إعدادات Apache/Nginx غير صحيحة أو Limits منخفضة.

خطوات تشخيص المشكلة

  1. تفعيل وضع التصحيح في ووردبريس:
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
  2. مراجعة ملف debug.log:
    /wp-content/debug.log
    ابحث عن الإضافة أو الملف الذي تسبب في استنفاد الذاكرة.
  3. مراقبة استهلاك الخادم:
    • CPU Load
    • RAM Usage
    • I/O Limits
  4. تعطيل الإضافات الثقيلة مؤقتًا مثل Elementor أو WPML لمعرفة إن كانت السبب.
  5. مراجعة أخطاء الخادم عبر:
    error_log
    /var/log/nginx/error.log
    /var/log/apache2/error.log

أولًا: حلول بسيطة (للمستخدم العادي)

الحل 1: رفع حد الذاكرة من wp-config.php

أضف هذا السطر قبل /* That's all, stop editing! */:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

الحل 2: رفع الذاكرة من .htaccess

php_value memory_limit 512M

الحل 3: رفع الذاكرة من ملف php.ini (لو مسموح)

memory_limit = 512M
max_execution_time = 300

الحل 4: تعطيل الإضافات المسببة للمشكلة

أعد تسمية مجلد الإضافات:
wp-content/plugins → plugins_off

ثم فعّل الإضافات واحدة تلو الأخرى لمعرفة المسبب.

إضافات تساعدك في اكتشاف الاستهلاك العالي:

الحل 5: تحسين قاعدة البيانات

قد تكون الجداول ضخمة أو تالفة. استخدم:

ثانيًا: حلول متقدمة للمطورين

الحل 6: تحليل الاستعلامات التي تستهلك ذاكرة عالية

باستخدام Query Monitor → تبويب Queries:

  • استعلامات أكبر من 0.2 ثانية
  • استعلامات غير مفهرسة
  • استعلامات متكررة Duplicate Queries

الحل 7: تحليل إضافات تستهلك RAM

أكثر إضافات تسبب الخطأ:

  • Elementor
  • WooCommerce (خصوصًا المنتجات المتغيرة)
  • WPML
  • RankMath/Yoast عند إعادة فهرسة ضخمة

الحل 8: تحسين قاعدة البيانات يدويًا (SQL)

OPTIMIZE TABLE wp_posts;
OPTIMIZE TABLE wp_postmeta;
OPTIMIZE TABLE wp_options;
OPTIMIZE TABLE wp_users;

الحل 9: إصلاح الملفات التالفة

أحيانًا يحدث الخطأ بسبب ملفات ووردبريس تالفة. الحل السريع هو:

  • تحميل نسخة ووردبريس الرسمية
  • رفع ملفي wp-admin + wp-includes

بدون حذف أي ملف داخل wp-content.

منع تكرار المشكلة في المستقبل

  • رفع الخطة في الاستضافة إن كانت موارد الخادم قليلة.
  • عدم استخدام إضافات ثقيلة بدون الحاجة.
  • تنظيف قاعدة البيانات شهريًا.
  • تفعيل Object Cache مثل Redis.
  • تحديث PHP إلى 8.2 أو أعلى.

روابط مفيدة

الخلاصة

خطأ Allowed Memory Size Exhausted غالبًا سببه قيمة ذاكرة منخفضة أو إضافة تستهلك موارد كبيرة. ابدأ دائمًا بالحلول السهلة مثل رفع memory_limit أو تعطيل الإضافات، ثم انتقل للحلول المتقدمة مثل تحليل الاستعلامات وتحسين قاعدة البيانات. مع الصيانة المستمرة وتحديثات PHP، لن تواجه المشكلة مرة أخرى.

تواصل معنا الآن للحصول علي فحص مجاني

إذا كان لديك استفسار أو عطل فني تريد حله بشكل عاجل

تواصل معنا الآن لحل مشكلتك في أسرع وقت

مشاركة علي: