وردپرس یکی از محبوبترین و قدرتمندترین سیستمهای مدیریت محتواست که روزانه میلیونها سایت به کمک اون راهاندازی میشن. اما همونقدر که انعطافپذیری وردپرس بالاست، گاهی مشکلات فنی هم سراغت میاد. یکی از رایجترین این مشکلات، کمبود حافظه PHP هست که باعث ارور «Allowed memory size of xxx bytes exhausted» میشه و اجزای مختلف سایت از کار میوفتن. تو این مقاله از سایت رامون طالع قصد داریم بهصورت کامل و مرحله به مرحله نحوه افزایش محدودیت حافظه php در وردپرس رو بهت یاد بدیم تا دیگه هیچوقت با این ارور دستبهگریبان نباشی.
عنوان های این مقاله
اصلا PHP چیه ؟

وقتی صحبت از عملکرد بهینه سایت وردپرسی میشه، منابع سرور مثل CPU و حافظه PHP نقش حیاتی دارن. حافظه PHP بخشی از رم سرور هست که برای اجرای کدهای PHP اختصاص داده میشه. وردپرس هم که با زبان PHP نوشته شده، برای پردازش درخواستها و لود افزونهها و قالبها نیازمند حافظه مناسبیه.
اگه این مقدار محدود باشه، در مواقع اوج بار یا اجرای عملیات سنگین مثل تولید تصاویر بندانگشتی، اجرای کدهای پیچیدهی افزونهها یا پردازش حجم زیاد داده با ارور حافظه مواجه میشی. علت اصلی این ارور، به پایان رسیدن allot شده حافظه PHP که باید اون رو افزایش بدیم. افزایش محدودیت حافظه php در وردپرس از جمله کارهای ضروری برای بهبود پایداری و کاراییه که در ادامه با چند روش ساده آن را بررسی میکنیم.
نحوه افزایش محدودیت حافظه PHP در وردپرس از طریق CPanel
استفاده از سیپنل یکی از سادهترین و رایجترین روشها برای افزایش محدودیت حافظه PHP در وردپرسه. سیپنل یک کنترل پنل گرافیکی محبوبه که امکانات زیادی برای مدیریت تنظیمات PHP در اختیارت قرار میده. وقتی وارد قسمت Select PHP Version یا MultiPHP INI Editor میشی، فهرستی از تنظیمات PHP including memory_limitنمایش داده میشه. کافیه مقدار پیشفرض memory_limit رو از مقداری مثل 128M
که معمولاً کم هست به 256M
یا حتی 512M
افزایش بدی.
با این کار نهتنها خطای Allowed memory size exhausted برطرف میشه، بلکه میتونی بدون نگرانی افزونههای حجیم یا قالبهای حرفهای رو نصب و اجرا کنی. این روش بدون نیاز به ویرایش دستی فایلهای سیستم، بسیار مطمئن بوده و در کمتر از چند ثانیه قابل انجامه.
memory_limit = 256M
نحوه افزایش محدودیت حافظه PHP در وردپرس در دایرکتادمین
دایرکتادمین هم کنترل پنل قدرتمندیه که مشابه سیپنل امکان دسترسی به تنظیمات PHP رو فراهم میکنه. برای تغییر حافظه PHP باید به بخش Server Manager یا Account Manager و سپس PHP Configuration Editor مراجعه کنی. در این پنجره، تمامی مقادیر متغیرهای PHP از جمله memory_limit نمایش داده میشن. کافیه عدد پیشفرض (مثلاً 128M
) رو به 256M
یا 512M
تغییر بدی.

نکته مهم: بعد از ذخیره تغییرات حتماً سرویسهای Apache یا PHP-FPM رو ریاستارت کن تا تنظیمات جدید اعمال بشه. این کار باعث میشه تغییر حافظه PHP در سرور به درستی اجرا بشه و ارورهای قبلی برطرف بشن.
memory_limit = 256M
نحوه افزایش محدودیت حافظه PHP در وردپرس با ویرایش .htaccess
اگه دسترسی به php.ini نداری یا هاست اجازه ویرایشش رو نمیده، فایل .htaccess
در ریشه وردپرس رو میتونی ویرایش کنی. این فایل تنظیمات سرور Apache رو کنترل میکنه و امکان اجرای دستورهای مخصوص PHP رو در خودش داره. برای افزایش حافظه PHP، قبل از خط # END WordPress
این کد رو اضافه کن:
# افزایش محدودیت حافظه PHP
php_value memory_limit 256M
با ذخیره این فایل و رفرش سایت، Apache پارامتر memory_limit رو تا مقدار مشخص شده تغییر میده. این روش مناسب مواقعیه که دسترسی به تنظیمات سرور محدود باشه و به سادگی داخل خود وردپرس اعمال بشه.
نحوه افزایش محدودیت حافظه PHP در وردپرس با ویرایش wp-config.php
wp-config.php مهمترین فایل تنظیمات وردپرسه که توش پارامترهای اصلی وردپرس نگهداری میشن. برای افزایش حافظه PHP به این شکل عمل کن:
- با FTP یا File Manager وارد پوشه اصلی وردپرس شو.
- فایل
wp-config.php
رو باز کن. - قبل از خطِ زیر، کد مربوطه رو قرار بده:
/* افزودن خط زیر برای افزایش محدودیت حافظه PHP */
define( 'WP_MEMORY_LIMIT', '256M' );
/* That's all, stop editing! Happy publishing. */
با این کار وردپرس خودش مقدار memory_limit رو تا ۲۵۶ مگابایت بالا میبره. این روش یکی از محبوبترین راهکارهاست چون به سادگی داخل وردپرس اعمال میشه و نیاز به دسترسی به تنظیمات سرور نداره.
بررسی وضعیت حافظه و رفع مشکلات احتمالی

افزایش محدودیت حافظه PHP کافی نیست؛ باید مطمئن بشی تغییر واقعا اعمال شده و سایت بدون ارور کار میکنه. برای این کار:
- افزونه Health Check & Troubleshooting نصب کن و وارد تب Site Health شو. این افزونه اطلاعات دقیقی از وضعیت PHP، حافظه و سایر پیکربندیهای سرور بهت میده.
- فایل error_log هاست یا پوشه
wp-content
رو بررسی کن تا اگه هنوز اروری ثبت میشه، دلیلش رو پیدا کنی. - بعد از اعمال تغییرات، کش مرورگر و کش افزونههای caching مثل W3 Total Cache رو پاک کن.
- اگر همچنان ارور میبینی، ممکنه محدودیت حافظه از سمت سختافزار یا تنظیمات global سرور باشه؛ در این صورت با پشتیبانی هاست تماس بگیر.
با این قدمها مطمئن میشی که افزایش محدودیت حافظه php در وردپرس به درستی انجام شده و مشکلات احتمالی شناسایی و رفع میشن.
نتیجهگیری
الان میدونی چطور افزایش محدودیت حافظه php در وردپرس رو در پنج روش مختلف از جمله CPanel، دایرکتادمین، .htaccess
و wp-config.php
انجام بدی و با ابزارهای بررسی حافظه مطمئن بشی که همهچیز درست کار میکنه. با پیادهسازی این راهکارها، سایتت از ارورهای حافظه خلاص میشه و میتونی بدون نگرانی افزونهها و قالبهای پیشرفته رو نصب کنی.
سوالات متداول
چه مقدار حافظه PHP برای وردپرس کافیه؟
برای اکثر سایتهای وردپرسی، 256M
حافظه PHP مناسب و کافی به نظر میرسه. اگر سایتت سنگینتره، مثل فروشگاههای ووکامرسی یا سایتهای با ترافیک بالا، تنظیم 512M
یا حتی 768M
هم ممکنه لازم بشه. همیشه به منابع سرور دقت کن و از بیرویه افزایش دادن خودداری کن.
بعد از افزایش حافظه PHP باید چهکار کنم؟
بعد از هر تغییر، کش مرورگر و کش افزونههای کش رو پاک کن. همچنین ریاستارت سرویس PHP-FPM یا Apache را فراموش نکن تا تغییرات جدید بارگذاری بشن.

روش بدون دسترسی به پنل هاست چیه؟
اگه دسترسی به CPanel یا دایرکتادمین نداری، میتونی فایلهای .htaccess
و wp-config.php
رو ویرایش کنی. این روشها ساده هستن و بدون نیاز به دسترسی روت سرور قابل اجرا هستن.
چه موقع نیاز به افزایش حافظه PHP دارم؟
زمانی که بعد از نصب افزونه یا قالب جدید با ارور «Allowed memory size exhausted» مواجه میشی یا لاگها نشان میدن حافظه پر شده. همچنین انجام عملیات حجیم مثل ایمپورت دیتابیس بزرگ یا اجرای اسکریپتهای پیچیده هم میتونه نشونه باشه.
افزایش حافظه PHP مشکلات امنیتی ایجاد میکنه؟
خیر. افزایش memory_limit فقط مقدار حافظه مجاز برای پردازش PHP رو بیشتر میکنه و هیچ تأثیر منفی امنیتی نداره. اگر سرور منابع کافی داشته باشه، این کار فقط عملکرد سایت رو بهبود میده.