فهرست مقاله
خطای مهلک وردپرس : حافظه کافی نیست؟ یاد بگیرید که مشکل محدودیت حافظه وردپرس را در 5 دقیقه برطرف کنید
1. بررسی اجمالی مشکل
در حال استفاده وردپرس ، اگر با خطای زیر مواجه شدید:
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 10220888 bytes)
این یعنی حافظه PHP تمام شده و باعث اختلال در عملکرد سیستم میشود. صفحه مدیریت شما باز نمیشود و عملکرد داشبورد نیز متوقف میشود.
این خطا به ویژه در وبسایتهایی با ترافیک بالا یا وبسایتهایی که از افزونههای وردپرس زیادی استفاده میکنند، رایج است .
حتی اگر حافظه را به ۵۱۲ مگابایت یا حتی ۳۰۲۴ مگابایت افزایش دهید ، مشکل هنوز وجود دارد. چه چیزی باعث این مشکل میشود؟
در ادامه علل احتمالی را مرحله به مرحله تجزیه و تحلیل می کنیم و نحوه حل این مشکل را یک بار برای همیشه به شما آموزش می دهیم.

2. چرا هنوز افزایش حافظه_limit بی اثر است؟
شما قبلا memory_limit از پیش فرض 256M ارتقاء یافت 512M 和 3024M، اما مشکل همچنان پابرجاست. این یعنی:
- تنظیمات PHP اعمال نمی شود: برخی از محیط های سرور ممکن است تغییر دستی شما را نادیده بگیرند
php.ini. - افزونه یا طرح زمینه منابع زیادی را اشغال می کند: برخی از افزونه ها یا کدهای سفارشی مقدار زیادی از حافظه را مصرف می کنند.
- محدودیت های پیکربندی سرور: سرور ممکن است محدودیت سختی را برای تخصیص حافظه اسکریپت های PHP تعیین کرده باشد، که باعث می شود حتی در صورت تجاوز از آن، تنظیم نامعتبر باشد.
برای حل این وضعیت، باید پیکربندی سرور و وردپرس را به طور جامع بررسی کنید.
3. راه حل های گام به گام
1. فایل php.ini را تغییر دهید
اول مال خودت رو پیدا کن فایل php.ini فایلی که معمولاً در /etc/php/ یا /usr/local/php/ زیر مسیر
جستجو memory_limit، مطمئن شوید که روی آن تنظیم شده است:
memory_limit = 512M
سپس وب سرور خود را مجدداً راه اندازی کنید :
- آپاچی:
sudo service apache2 restart - Nginx:
sudo service nginx restart
توجه : برخی از سرویسهای میزبانی اشتراکی ممکن است نتوانند به php.ini دسترسی پیدا کنند. در این صورت، میتوانید از روش بعدی صرف نظر کنید.
2. محدودیت حافظه PHP را در wp-config.php لغو کنید
حتی اگر پیکربندی حافظه سرور دقیق باشد، گاهی اوقات وردپرس به دلیل تنظیمات خاص خود با کمبود حافظه مواجه می شود.
بنابراین، میتوانید محدودیت حافظه را به صورت دستی در فایل wp-config.php تنظیم کنید:
define( 'WP_MEMORY_LIMIT', '512M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
این کد را وارد کنید wp-config.php مستند 顶部، برای اطمینان از اعمال آن هنگام بارگذاری.
- WP_MEMORY_LIMIT: حد بالایی حافظه جلویی، که مصرف منابع را هنگام دسترسی کاربران به صفحه کنترل می کند.
- WP_MAX_MEMORY_LIMIT: حد بالای حافظه پس زمینه برای اطمینان از عدم موفقیت عملیات مدیریت به دلیل حافظه ناکافی.
3. میزان مصرف حافظه افزونه ها و تم ها را بررسی کنید
برخی از افزونههای پرمصرف ممکن است باعث فرسودگی حافظه شوند، مانند افزونههای ذخیرهسازی موقت، افزونههای سئو یا افزونههای تجارت الکترونیک (مانند ووکامرس).
راه حل :
- همه افزونه ها را ببندید و عیب یابی را یکی یکی فعال کنید.
- به تم پیش فرض (مانند بیست و بیست و سه) بروید و ببینید آیا مشکل حل شده است یا خیر.
- استفاده مانیتور پرس و جو پلاگین برای مشاهده کامپوننت هایی با مصرف حافظه بالا.
4. از htaccess. یا تنظیمات PHP تعریف شده توسط کاربر استفاده کنید
اگر از هاست اشتراکی استفاده میکنید ، میتوانید با تغییر فایل .htaccess، میزان استفاده از حافظه PHP را بهبود بخشید :
php_value memory_limit 512M
پس از ذخیره، صفحه داشبورد خود را بازخوانی کنید تا بررسی کنید که آیا مشکل حل شده است یا خیر.
5. با ارائه دهنده سرور تماس بگیرید
در برخی موارد، سرور محدودیت هایی را برای استفاده از حافظه PHP اعمال می کند.
حتی اگر محدودیت حافظه را تغییر دهید، سرور اجازه اعمال آن را نخواهد داد.
در این مرحله، باید با ارائه دهنده خدمات میزبانی خود تماس بگیرید و از آنها بخواهید سهمیه حافظه شما را افزایش دهند.
4. طرح نهایی: غیر فعال کردن توابع غیر ضروری و بهینه سازی کد
حتی اگر با موفقیت محدودیت حافظه را افزایش دهید، نمیتوانید بهینهسازی عملکرد وبسایت را نادیده بگیرید . اتکای بیش از حد به افزونهها یا استفاده از قالبهای پرمصرف میتواند منجر به کمبود مکرر حافظه شود. بنابراین:
- حذف پلاگین های غیر ضروری و کد اضافی
- از افزونه های کش کارآمد مانند موشک WP یا W3 مجموع کش).
- به طور منظم پایگاه داده را بهینه کنید و داده های ناخواسته را پاکسازی کنید.
5. خلاصه: مراحل کارآمد برای حل حافظه_limit
- مطمئن شوید که تغییرات در php.ini اعمال می شوند:تنظیم
memory_limit512M یا بالاتر است. - محدودیت حافظه را در wp-config.php تعریف کنید: مطمئن شوید که وردپرس از حافظه کافی استفاده می کند.
- عیب یابی مشکلات افزونه و تم: افزونه های با منابع بالا را غیرفعال کنید.
- در صورت لزوم با ارائه دهنده سرور تماس بگیرید: مطمئن شوید که سرور محدودیتی در حافظه PHP شما اعمال نمی کند.
- بهینه سازی عملکرد سایت: کاهش افزونه های غیر ضروری، بهینه سازی پایگاه داده و بهبود کارایی کلی.
بهینه سازی یک راه حل بلند مدت است، حافظه فقط پایه است
با دنبال کردن مراحل این مقاله، نه تنها میتوانید این خطای Fatal آزاردهنده را برطرف کنید ، بلکه یاد خواهید گرفت که چگونه مشکلات حافظه را عیبیابی کنید.
با این حال، بهبود مستمر حافظه به تنهایی راه حل اساسی برای مشکلات وب سایت نیست.
بهینهسازی صحیح کد و حذف افزونههای غیرضروری، کلید تضمین عملکرد پایدار بلندمدت یک وبسایت است.
امیدوارم از این مقاله چیزی یاد گرفته باشید و بلافاصله شروع به تمرین این تکنیک ها کنید!
چه چیزی رضایت بخش تر از حل یک مشکل سخت است؟ 💪
امیدوارم مقاله "حل خطای مهلک وردپرس: اندازه حافظه مجاز ۲۶۸۴۳۵۴۵۶ بایت تمام شد (سعی در تخصیص ۱۰۲۲۰۸۸۸ بایت شد)" که در وبلاگ چن ویلیانگ ( https://www.chenweiliang.com/ ) به اشتراک گذاشته شده است، برای شما مفید باشد.
لینک این مقاله را به اشتراک بگذارید: https://www.chenweiliang.com/cwl-32129.html
