روش های افزایش حافظه PHP سایت وردپرسی
راهنمای جامع و کاربردی افزایش حافظه PHP در وردپرس
مقدمه ای بر موضوع
مدیریت یک سایت وردپرسی فراتر از تولید محتوا و چیدمان صفحات است. گاهی اوقات، زمانی که در حال کار با سایت خود هستید، با خطاهای عجیبی مواجه میشوید که ممکن است شما را سردرگم کند. یکی از رایجترین این خطاها، مربوط به محدودیت حافظه PHP است. وردپرس با زبان برنامهنویسی PHP توسعه یافته است و هر اسکریپتی که در سایت شما اجرا میشود (از هسته وردپرس گرفته تا افزونهها و قالبها)، برای اجرا شدن به مقداری از حافظه موقت سرور نیاز دارد.
اگر این میزان حافظه از حد مجاز تعیین شده توسط هاستینگ فراتر رود، سایت شما با مشکل مواجه شده و ممکن است خطای “Fatal Error: Allowed Memory Size Exhausted” را مشاهده کنید. در این راهنما، به بررسی دقیق روشهای مختلف افزایش حافظه PHP میپردازیم تا بتوانید سایت خود را همیشه در وضعیت بهینه نگه دارید.
چرا وردپرس به حافظه PHP بیشتری نیاز دارد؟
هر بار که یک کاربر وارد سایت شما میشود، سرور کدهای PHP را پردازش میکند. اسکریپتهای پیچیده، پردازش تصاویر با حجم بالا، استفاده از صفحهسازهای سنگین مثل المنتور (Elementor) و یا نصب تعداد زیادی افزونه، همگی مصرف حافظه را بالا میبرند.
به طور پیشفرض، بسیاری از شرکتهای هاستینگ محدودیت حافظه را روی مقادیر پایینی مثل 64M یا 128M تنظیم میکنند. این مقدار برای یک سایت ساده کافی است، اما به محض اینکه بخواهید از امکانات پیشرفتهتر استفاده کنید، سایت با کمبود منابع مواجه میشود.
افزایش این محدودیت به معنای دادن فضای تنفس بیشتر به کدهای سایت برای اجرای سریعتر و بدون نقص است.
روش اول: استفاده از فایل wp-config.php (رایج ترین روش)
فایل 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');
اگر سایت شما بسیار سنگین است یا از فروشگاه ساز ووکامرس استفاده میکنید، میتوانید این مقدار را به 512M نیز تغییر دهید. با ذخیره این فایل، وردپرس سعی میکند محدودیت حافظه را به مقدار تعیین شده افزایش دهد.
روش دوم: ویرایش فایل htaccess.
اگر روش اول جواب نداد، احتمالاً محدودیت از سمت تنظیمات سرور وب (Apache) اعمال شده است. در این صورت، فایل htaccess. که مسئول پیکربندیهای سرور است، میتواند راهگشا باشد.
- در همان پوشه اصلی public_html به دنبال فایل
htaccess.بگردید. (اگر آن را نمیبینید، در تنظیمات File Manager گزینه Show Hidden Files را فعال کنید) - فایل را برای ویرایش باز کنید.
- کد زیر را به انتهای فایل اضافه کنید:
php_value memory_limit 256M
نکته مهم:
پس از ذخیره این فایل، بلافاصله سایت خود را چک کنید. اگر با خطای 500 (Internal Server Error) مواجه شدید، یعنی سرور شما اجازه تغییر این پارامتر از طریق این فایل را نمیدهد. در این صورت، کد اضافه شده را پاک کرده و فایل را ذخیره کنید تا سایت به حالت عادی برگردد و سراغ روشهای بعدی بروید.
روش سوم: تغییر از طریق فایل php.ini یا user.ini
فایل php.ini فایل پیکربندی اصلی PHP در سرور است. در اکثر هاستهای اشتراکی، شما به فایل اصلی دسترسی ندارید، اما میتوانید یک نسخه محلی از آن بسازید.
- یک فایل متنی جدید در پوشه اصلی سایت (public_html) بسازید و نام آن را
php.iniبگذارید. (اگر فایلی با این نام از قبل وجود دارد، همان را ویرایش کنید). - کد زیر را درون آن قرار داده و ذخیره کنید:
memory_limit = 256M
در برخی از سرورها، نام این فایل باید user.ini باشد. اگر با اولی نتیجه نگرفتید، نام فایل را تغییر دهید. این فایل به سرور دستور میدهد که برای پردازشهای این پوشه، از مقدار حافظه جدید استفاده کند.
روش چهارم: استفاده از تنظیمات کنترل پنل هاست (MultiPHP INI Editor)
امروزه اکثر هاستینگهای مدرن ابزاری گرافیکی برای تغییر تنظیمات PHP در اختیار کاربران قرار میدهند. این روش ایمنتر و راحتتر است.
در سی پنل (cPanel):
- وارد سیپنل شوید و به بخش Software بروید.
- روی گزینه MultiPHP INI Editor کلیک کنید.
- دامنه مورد نظر خود را از لیست کشویی انتخاب کنید.
- در لیست تنظیمات، به دنبال گزینه memory_limit بگردید.
- مقدار آن را به 256M یا بالاتر تغییر دهید و روی دکمه Apply کلیک کنید.


در دایرکت ادمین (DirectAdmin):
- وارد پنل شوید و به بخش PHP Settings یا Select PHP Version بروید.
- در بخش Options، مقدار memory_limit را پیدا کرده و آن را افزایش دهید.
تفاوت WP_MEMORY_LIMIT و WP_MAX_MEMORY_LIMIT
یک نکته ظریف که بسیاری از مدیران سایت به آن توجه نمیکنند، وجود دو نوع محدودیت حافظه در وردپرس است.
- WP_MEMORY_LIMIT: مربوط به بخش کاربری سایت (Frontend) است.
- WP_MAX_MEMORY_LIMIT: مربوط به بخش مدیریت وردپرس (Backend) است.
گاهی اوقات سایت شما در ظاهر به خوبی لود میشود، اما وقتی میخواهید یک برگه را با المنتور ویرایش کنید یا یک خروجی سنگین از لیست مشتریان بگیرید، سایت کرش میکند. در این حالت بهتر است هر دو مقدار را در فایل wp-config.php تعریف کنید:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );با این کار، بخش مدیریت که معمولا به منابع بیشتری نیاز دارد، فضای کافی برای پردازش خواهد داشت.
چگونه مطمئن شویم حافظه افزایش یافته است؟
بعد از انجام هر یک از مراحل بالا، باید بررسی کنید که آیا تغییرات اعمال شده است یا خیر. خوشبختانه وردپرس در نسخههای جدید خود ابزاری داخلی برای این کار دارد.
- به پیشخوان وردپرس بروید.
- از منوی ابزارها (Tools)، گزینه سلامت سایت (Site Health) را انتخاب کنید.
- به تب اطلاعات (Info) بروید.
- بخش سرور (Server) را باز کنید.
- در مقابل عبارت “محدودیت حافظه PHP” یا “PHP memory limit”، مقدار فعلی را مشاهده کنید. اگر مقدار تغییر کرده بود، یعنی کار شما با موفقیت انجام شده است.
اگر هیچکدام از روش ها جواب نداد چه کنیم؟
در صورتی که تمام مراحل بالا را طی کردید و همچنان مقدار حافظه تغییر نکرد یا خطا باقی ماند، به احتمال زیاد هاستینگ شما محدودیتهای سختی را از سمت سرور اصلی (Master Value) اعمال کرده است که توسط کاربر قابل تغییر نیست.
در این شرایط، بهترین راهکار ارسال یک تیکت پشتیبانی به شرکت هاستینگ است. کافی است به آنها بگویید: “مقدار memory_limit را برای سایت من به 256MB یا 512MB افزایش دهید.” اکثر شرکتهای معتبر این درخواست را به سرعت برای شما انجام میدهند.
نکات پایانی و امنیتی
- زیاده روی نکنید: حافظه PHP را بیدلیل روی مقادیر بسیار بالا (مثل 2GB) قرار ندهید. این کار میتواند باعث شود یک اسکریپت مخرب یا دارای باگ، تمام منابع سرور را مصرف کرده و کل هاست شما را از دسترس خارج کند.
- بهینه بودن افزونه ها: همیشه به یاد داشته باشید که افزایش حافظه، راه حل نهایی برای سایتهای غیربهینه نیست. اگر افزونهای دارید که کدنویسی ضعیفی دارد و بیش از حد منابع مصرف میکند، بهتر است آن را جایگزین کنید.
- نسخه PHP: همیشه سعی کنید از آخرین نسخههای پایدار PHP (مثل 8.1 یا 8.2) استفاده کنید. نسخههای جدیدتر معمولا مدیریت حافظه بسیار بهتری نسبت به نسخههای قدیمی (مثل 7.4) دارند.
با مدیریت صحیح حافظه PHP، شما نه تنها از شر خطاهای آزاردهنده خلاص میشوید، بلکه سرعت کار با بخش مدیریت وردپرس و تجربه کاربری بازدیدکنندگان سایت خود را نیز به شکل چشمگیری بهبود میبخشید.







