پیام Allowed memory size of … bytes exhausted یک تشخیص کامل نیست. فقط میگوید اسکریپت PHP بیشتر از سقف memory_limit حافظه خواسته. در وردپرس این سقف گاهی در هاست، گاهی با WP_MEMORY_LIMIT و گاهی داخل خود افزونه جداگانه تنظیم شده است.
این خطا معمولاً کجا دیده میشود؟
- هنگام باز کردن پیشخوان، مخصوصاً صفحه المنتور، ووکامرس یا یک گزارش
- موقع درونریزی، بکاپ، یا بازسازی تصاویر
- روی یک صفحه عمومی که کوئری بزرگی اجرا میکند
بالا بردن حافظه بهتنهایی کافی نیست
اگر یک حلقه یا یک کوئری هر بار حجم بیشتری میسازد، دو برابر کردن حافظه فقط خطا را دیرتر نشان میدهد. اول باید دید درخواست کدام است و کدام افزونه یا قالب در همان لحظه بارگذاری شده.
مسیر عملی این است:
- متن کامل خطا را بردارید. اگر مسیر فایل داخل پیام هست، همان فایل نقطه شروع است.
- اگر فقط پیام عمومی وردپرس را میبینید، لاگ PHP هاست را ببینید. بدون آن، دارید حدس میزنید.
- افزونههای سنگین همان صفحه را موقتاً کنار بگذارید تا مقصر جدا شود. هدف خاموش ماندن دائمی آنها نیست.
- فرق
memory_limitدر PHP وWP_MEMORY_LIMITرا قاطی نکنید. وردپرس نمیتواند بالاتر از سقف خود PHP برود.
چه وقت حافظه را واقعاً باید زیاد کرد؟
وقتی کار ذاتاً سنگین و موقت است؛ مثلاً یک درونریزی یکباره. برای صفحه اصلی فروشگاه یا پیشخوان هر روز، سقف بالاتر درمان علت نیست.
اگر سایت با همین خطا بالا نمیآید، آدرس و تصویر خطا را بفرستید تا روی همان سایت بررسی شود. شرح این کار در صفحه رفع خطاهای وردپرس است.