افزایش حافظه PHP در وردپرس: ۵ روش قطعی برای رفع ارور محدودیت حافظه [۲۰۲۶]
تصور کنید در حال نصب یک افزونه جدید، آپلود یک تصویر باکیفیت یا حتی بروزرسانی وردپرس هستید که ناگهان صفحه سفید میشود و با این پیام ترسناک روبرو میشوید:
آنچه در این مطلب می خوانید
ToggleFatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 123456 bytes)
این خطا دقیقاً مثل این است که بخواهید ۱۰ لیتر آب را در یک سطل ۵ لیتری بریزید! سرور به شما میگوید: “ظرفیت من تمام شده است.” این مشکل یکی از رایجترین چالشهای مدیران سایت است که اگر سریع رفع نشود، نه تنها باعث از دسترس خارج شدن سایت میشود، بلکه میتواند منجر به خطاهای زنجیرهای دیگر مثل خطای 504 Gateway Timeout نیز بشود.
اما نگران نباشید! در این راهنمای عملی از شادکس وردپرس، ما ۵ روش تضمینی (از ویرایش فایلهای ساده تا تنظیمات سرور) را به شما آموزش میدهیم تا یکبار برای همیشه محدودیت حافظه PHP را افزایش دهید و سایتتان را از خفگی نجات دهید.
۱. حافظه PHP چیست و چرا تمام میشود؟
وردپرس با زبان برنامهنویسی PHP نوشته شده است. این زبان برای اجرای هر دستور (مثل باز کردن یک صفحه، پردازش سبد خرید، یا ذخیره یک پست)، نیاز به مقداری از RAM سرور دارد.
به طور پیشفرض، شرکتهای هاستینگ یا خود وردپرس، یک “سقف مصرف” (Limit) برای این حافظه تعیین میکنند (مثلاً ۶۴ مگابایت). دلیل این کار جلوگیری از مصرف بیش از حد منابع توسط اسکریپتهای مخرب است. اما وقتی سایت شما رشد میکند، افزونههای حرفهای مثل ووکامرس یا المنتور نصب میکنید، این مقدار پیشفرض دیگر کافی نیست و سایت با ارور Allowed memory size exhausted متوقف میشود.
نکته مهم: کمبود حافظه PHP فقط باعث ارور نمیشود؛ بلکه یکی از دلایل اصلی کندی پیشخوان وردپرس است. افزایش حافظه یکی از پیشنیازهای اجرای ۱۳ تکنیک طلایی افزایش سرعت وردپرس است.
۲. به چقدر حافظه نیاز داریم؟ (معیارهای ۲۰۲۶)
سوالی که همیشه پرسیده میشود: “چقدر رم برای وردپرس کافی است؟”. پاسخ کوتاه این است: بستگی دارد!
| نوع سایت | حداقل حافظه پیشنهادی | توضیحات |
|---|---|---|
| وبلاگ ساده | 64MB – 128MB | فقط متن و تصویر، بدون افزونههای سنگین. |
| سایت شرکتی | 256MB | استفاده از صفحهسازهایی مثل المنتور. |
| فروشگاه (ووکامرس) | 512MB | ووکامرس برای عملکرد صحیح به منابع بالا نیاز دارد. |
اگر قصد دارید طرحهای پیشرفتهای مانند نحوه ساخت Bento Grid در المنتور را پیادهسازی کنید، بررسی و افزایش حافظه PHP یکی از اقداماتی است که میتواند از بروز مشکلات احتمالی جلوگیری کند.
۳. چگونه حافظه فعلی سایت را چک کنیم؟
قبل از اینکه کدها را دستکاری کنید، بیایید ببینیم الان وضعیت چطور است. وردپرس ۵.۲ به بعد ابزاری عالی برای این کار دارد:
- وارد پیشخوان وردپرس شوید.
- به مسیر ابزارها > سلامت سایت (Site Health) بروید.
- روی تب اطلاعات (Info) کلیک کنید.
- بخش سرور (Server) را باز کنید.
- به دنبال گزینه محدودیت حافظه PHP (PHP memory limit) بگردید.
اگر عددی که میبینید کمتر از 256M است (مثلاً 40M یا 64M)، حتماً باید آن را افزایش دهید.
۴. روش اول: ویرایش فایل wp-config.php (سریعترین راه)
این روش استانداردترین راه است و در ۹۰٪ مواقع مشکل را حل میکند.
مراحل انجام کار:
- وارد پنل مدیریت هاست (cPanel یا DirectAdmin) شوید.
- به بخش File Manager و پوشه
public_htmlبروید. - فایل
wp-config.phpرا پیدا کرده و ویرایش (Edit) کنید. - به دنبال خطی بگردید که نوشته:
/* That's all, stop editing! Happy publishing. */ - دقیقاً قبل از این خط، کد زیر را قرار دهید:
define( 'WP_MEMORY_LIMIT', '256M' );
تغییرات را ذخیره کنید و سایت را چک کنید. اگر مشکل حل نشد، نگران نباشید؛ سراغ روش بعدی بروید.
۵. روش دوم: ویرایش فایل htaccess.
اگر سرور شما از نوع Apache باشد (که اکثر هاستهای وردپرسی هستند)، فایل .htaccess قدرت زیادی دارد.
- در همان پوشه
public_html، فایل.htaccessرا پیدا کنید. (اگر مخفی بود، تنظیمات Show Hidden Files را در فایل منیجر بزنید). - کد زیر را به انتهای فایل اضافه کنید:
php_value memory_limit 256M
ذخیره کنید و سایت را رفرش کنید. این روش معمولاً محدودیتهای سرور را دور میزند.
۶. روش سوم: استفاده از MultiPHP INI Editor در سیپنل
اگر از کدنویسی میترسید، سیپنل (cPanel) یک رابط گرافیکی عالی برای این کار دارد.
- در صفحه اصلی سیپنل، بخش Software را پیدا کنید.
- روی گزینه MultiPHP INI Editor کلیک کنید.
- دامنه سایت خود را انتخاب کنید.
- در لیست تنظیمات، گزینه
memory_limitرا پیدا کنید. - مقدار آن را به 256M یا 512M تغییر دهید و دکمه Apply را بزنید.
۷. روش چهارم: ساخت فایل php.ini
در برخی هاستها، تنظیمات PHP از طریق فایلی به نام php.ini کنترل میشود که ممکن است در روت هاست شما وجود نداشته باشد.
- در پوشه
public_htmlیک فایل جدید بسازید و نام آن راphp.iniبگذارید. - کد زیر را درون آن بنویسید و ذخیره کنید:
memory_limit = 256M
wp-admin نیز کپی کنید تا تغییرات در پیشخوان وردپرس هم اعمال شود.۸. روش پنجم: تماس با هاستینگ (آخرین سنگر)
اگر تمام ۴ روش بالا را دقیق انجام دادید اما در بخش “سلامت سایت” هنوز عدد قبلی (مثلاً 64M) را میبینید، یک خبر بد و یک خبر خوب دارم.
- خبر بد: شرکت هاستینگ شما یک محدودیت سختافزاری (Hard Limit) روی اکانت شما قفل کرده است که با هیچ کدی باز نمیشود.
- خبر خوب: معمولاً با ارسال یک تیکت ساده به پشتیبانی و درخواست افزایش حافظه، این کار را برایتان انجام میدهند.
اگر پشتیبانی هاست با درخواست شما مخالفت کرد، این یک نشانه قرمز بزرگ است! وقت آن رسیده که به فکر کوچ به یک هاست وردپرس استاندارد و باکیفیت باشید.
۹. چرا تغییرات اعمال نمیشود؟ (عیبیابی)
گاهی مشکل از محدودیت حافظه نیست، بلکه از “نشتی حافظه” (Memory Leak) است.
نشتی حافظه یعنی یک افزونه یا قالب با کدنویسی ضعیف، رم سرور را میبلعد و آزاد نمیکند. مثل شیر آبی که باز مانده است. در این حالت، حتی اگر رم را به ۲ گیگابایت هم برسانید، باز هم پر میشود!
راهحل چیست؟
باید افزونههای سایت را یکییکی غیرفعال کنید تا ببینید کدام یک “قاتل حافظه” است. اگر سایتتان سنگین شده است، پیشنهاد میکنیم حتماً از خدمات بهینهسازی حرفهای استفاده کنید.
سایتتان هنوز کند است یا ارور میدهد؟ متخصصان ما آمادهاند!
افزایش حافظه PHP اولین قدم است، اما همیشه کافی نیست. خطاهای مهلک و کندی سایت میتواند ریشه در دیتابیس، تداخل افزونهها یا پیکربندی غلط سرور داشته باشد.
آیا میخواهید خیالتان را راحت کنید و کار را به کاردان بسپارید؟ تیم فنی شادکس وردپرس آماده است تا:
- خطاهای سایت شما را ریشهیابی و رفع کند.
- سرعت سایتتان را به حداکثر ممکن برساند.
- امنیت و پایداری سایت را تضمین کند.
همین حالا مشکل سایتتان را حل کنید:
خدمات افزایش سرعت سایت
خدمات پشتیبانی و رفع خطا
سوالات متداول (FAQ)
- ۱. حداکثر مقدار مجاز برای memory_limit چقدر است؟
- معمولاً برای هاستهای اشتراکی 256M یا 512M سقف معقولی است. تنظیم آن روی مقادیر خیلی بالا (مثل 2048M) یا -1 (نامحدود) خطرناک است، زیرا اگر یک افزونه مشکلدار شود، میتواند کل سرور را از کار بیندازد.
- ۲. تفاوت WP_MEMORY_LIMIT و PHP memory_limit چیست؟
PHP memory_limitسقف کلی است که سرور (هاست) تعیین میکند.WP_MEMORY_LIMITمقداری است که وردپرس تقاضا میکند. وردپرس نمیتواند بیشتر از سقف سرور مصرف کند، حتی اگر عدد آن را در کانفیگ بالا ببرید.
- ۳. آیا افزایش حافظه PHP سرعت سایت را زیاد میکند؟
- به طور مستقیم خیر، اما به طور غیرمستقیم بله! حافظه بیشتر از بروز خطاهای تایماوت و کندی در پردازش اسکریپتهای سنگین (مثل بکاپگیری یا ایمپورت محصول) جلوگیری میکند و باعث پایداری سایت میشود.
- ۴. اگر بعد از تغییرات سایت بالا نیامد چه کنم؟
- احتمالاً یک کاراکتر اشتباه در کدها وارد کردهاید. کافیست کدی که اضافه کردید را حذف کنید یا بکاپی که گرفتید را ریستور کنید. به همین دلیل بکاپ گرفتن قبل از شروع کار حیاتی است.
جمعبندی و چکلیست نهایی
در این مقاله یاد گرفتیم که خطای کمبود حافظه (Memory Exhausted) پایان دنیا نیست، بلکه هشداری است که سایت شما بزرگ شده و نیاز به منابع بیشتری دارد.
چکلیست خلاصه مراحل:
- بررسی: ابتدا در بخش “سلامت سایت” مقدار فعلی حافظه را چک کنید.
- روش اول: کد
define( 'WP_MEMORY_LIMIT', '256M' );را بهwp-config.phpاضافه کنید. - روش دوم: اگر نشد، کد
php_value memory_limit 256Mرا به.htaccessاضافه کنید. - روش سوم: از تنظیمات MultiPHP در سیپنل استفاده کنید.
- آخرین راه: تیکت به پشتیبانی هاستینگ.
اجرای این مراحل سایت شما را از خفگی نجات میدهد. اگر تجربهای در رفع این ارور دارید، در بخش نظرات با ما به اشتراک بگذارید!




۱۰ پاسخ
این روشایی که گفتین برای رفع محدودیت حافظه PHP عالیه، مخصوصاً اون بخش که میگه چجوری فایل php.ini رو تغییر بدیم. من قبلاً هیچی ازش نمیدونستم. خب سوالی که دارم اینه که این کار باعث نمیشه وردپرس کلاً دچار مشکل شه یا سایت کندتر شه؟
من یه مدت پیش با یه مشکل مشابه برخورد کردم و صدالبته افزایش حافظه PHP تو وردپرسم رو بهش برخورد کردم. چند وقت دست و پا زدم ولی با این روشا به نظرم حل شه دیگه. اینکه دقیق توضیح دادین چی کجا بره خیلی کمککنندهس.
من اولش فکر کردم قضیه یه چیز دیگهست و به کدهای قالب مشکلی دارن. اما بعد که دیدم حافظه PHP مسئله بوده، رفتم سراغ مقالهتون. جالب بود و دقیقاً چیزی رو که نیاز داشتم پیدا کردم. یکی از سوالام اینه که همه هاستینگها این روشها رو پشتیبانی میکنن؟
روشهای جالبی گفتید برای رفع ارور محدودیت حافظه PHP، من خیلی ازشون خوشم اومد. به نظرم مهمترین چیزی که فهمیدم این بود که همهچیش بستگی به تنظیمات سرور داره و برای هرکی ممکنه یه روش پاسخگو باشه.
برای من این ارور محدودیت حافظه PHP خیلی دردسر درست کرده بود تا اینکه روشی که گفتین امتحان کردم. مخصوصاً اون قسمتی که باید فایل htccess رو تغییر بدیم جالب بود. خیلیها نمیدونن چقدر راحت میشه مشکلاتو حل کرد. ممنونم.
راستش به نظرم سادهترین کار استفاده از اون پلاگینهاس که همین مشکل رو با چندتا کلیک حل میکنن. البته اگه کسی دسترسی به cPanel نداشته باشه شاید بترسه خودش سراغ تغییر فایلهای اند بسیک بره.
من وقتی گوشیم رو تازه کردم با یه ضعف سرعت در برخی صفحات وردپرس مواجه شدم، این محدودیت حافظه برم حل نشده بود. فکر کنم باید یکی از این روشها رو اجرا کنم. اینکه این اطلاعاتو یکجا جمع کردین خیلی کمککنندهس.
سوال پیش اومد درباره اینکه چه عددی برای حافظه مناسبتره تا با یه افزایش کوچیک کارمو راه بندازم که سرور مشکل نخوره، کسی تجربه داره با این مسائل؟ اگه بتونید راهنمایی کنید ممنون میشم.
به نظرم روشهایی که برای افزایش حافظه PHP توضیح دادین خیلی کامل و خوبه. من به شخصه امتحانش کردم و تو بهینهسازی سرعت وردپرس خیلی کمک کرد. تا الان مشکلی نداشتم و سایت روانتر شده.
کسی این روشو امتحان کرده؟ من هنوز تو این قسمت مشکل دارم. نمیدونم تنظیمات دقیقاً باید چطور باشه که یه وقتی به بقیه قسمتهای سایت صدمه نزنه. اگه تجربهای دارین یا پیشنهادی ممنون میشم بگین.