برای افزایش کارایی سایت، انجام صحیح تنظیمات PHP Memory Limit و Max Execution Time امری ضروری است. در هر وبسایت یا اپلیکیشن مبتنی بر PHP و سرویس هاستینگ، مانند هاست وردپرس دو پارامتر PHP Memory Limit و Max Execution Time نقش اساسی در کنترل مصرف منابع و پایداری سیستم دارند. این تنظیمات تعیین میکنند که هر اسکریپت PHP چه مقدار حافظه میتواند استفاده کند و تا چه مدت مجاز به اجرا است.
درواقع، این دو پارامتر همانند یک سیستم ایمنی عمل میکنند که مانع از بروز خطاهای مصرف بیشازحد منابع یا قفل شدن سرور بهدلیل اجرای بیپایان اسکریپتها میشوند. وقتی مقدار آنها بیش از حد پایین باشد، سایت با خطاهای متوقفکننده مانند Allowed memory size exhausted یا Maximum execution time exceeded مواجه میشود و اگر بیش از حد بالا تنظیم شوند، ممکن است کل سرور را درگیر کرده و عملکرد سایر سایتها یا کاربران را مختل کنند.
پیش از ادامه، در ابرینا هاست بخوانید: «هاست NVMe چیست؟ تاثیر بر سئو سایت و نحوه تشخیص آن»

تنظیمات PHP Memory Limit چیست؟
تنظیمات PHP Memory Limit یکی از مهمترین پارامترهای پیکربندی در زبان برنامهنویسی PHP است که تعیین میکند هر اسکریپت یا فرآیند PHP حداکثر چه مقدار از حافظه RAM سرور را میتواند استفاده کند. این محدودیت برای جلوگیری از مصرف بیش از اندازه منابع و حفظ پایداری سرور در برابر اسکریپتهای سنگین یا دارای حلقههای بیپایان طراحی شده است.
بهطور معمول، مقدار پیشفرض آن در بیشتر هاستها حدود ۱۲۸ مگابایت یا ۲۵۶ مگابایت است، اما در پروژههایی که با سیستمهای مدیریت محتوا مانند وردپرس، جوملا یا فروشگاههای اینترنتی کار میکنند، افزایش این مقدار تا ۵۱۲ مگابایت یا حتی بیشتر ضروری است. در عمل برای افزایش کارایی سایت ، اگر یک اسکریپت PHP از حد تعیینشده عبور کند، با خطایی مانند Allowed memory size exhausted مواجه میشوید.
بهترین تنظیمات PHP Memory Limit
در یک سایت شخصی یا وبلاگ ساده، افزایش بیش از حد این مقدار ضرورتی ندارد، اما در وبسایتهای فروشگاهی، سیستمهای مدیریت محتوای پیچیده یا وباپلیکیشنهای سنگین، محدودیت پایین حافظه میتواند باعث کندی بارگذاری، خطاهای مکرر و توقف اجرای اسکریپتها شود. برای افزایش کارایی سایت، انتخاب صحیح ضروری است.
| نوع پروژه یا کاربرد | مقدار پیشنهادی PHP Memory Limit | توضیحات |
| وبسایت شخصی یا وبلاگ ساده | 128M | مناسب برای سایتهای سبک با افزونههای محدود |
| سایت شرکتی متوسط | 256M | برای قالبهای نیمهحرفهای و چند ماژول فعال |
| فروشگاه اینترنتی وردپرسی (WooCommerce) | 512M | بهینه برای پردازش تصاویر و کوئریهای سنگین |
| وباپلیکیشن بزرگ یا پنل مدیریتی | 768M تا 1024M | برای پردازش حجم بالای داده و عملکرد پایدار |
| پروژههای دارای API یا سیستمهای متصل به پایگاهداده حجیم | 1024M به بالا | برای جلوگیری از خطاهای Out of Memory در درخواستهای پیچیده |
| محیط توسعه و تست محلی (Localhost) | unlimited یا 2048M | جهت تست بدون محدودیت حافظه، فقط در حالت آزمایشی |

تنظیمات Max Execution Time چیست؟
تنظیم Max Execution Time در PHP مشخص میکند هر اسکریپت PHP حداکثر چند ثانیه اجازه دارد اجرا شود پیش از آنکه بهصورت خودکار توسط سرور متوقف گردد. این پارامتر برای جلوگیری از اجرای طولانیمدت اسکریپتهایی طراحی شده که ممکن است بهدلیل خطا یا پردازش سنگین، منابع سرور را بیش از اندازه درگیر کنند.
مقدار پیشفرض آن معمولاً ۳۰ ثانیه است، اما در پروژههایی مانند وردپرس، وارد کردن دادههای حجیم، یا پردازش فایلهای بزرگ، ممکن است نیاز به افزایش آن تا ۱۲۰ یا حتی ۳۰۰ ثانیه باشد. اگر زمان اجرای اسکریپت از حد تعیینشده عبور کند، با خطایی نظیر Maximum execution time exceeded روبهرو خواهید شد.
بهترین تنظیمات Max Execution Time
بهطور معمول و برای افزایش کارایی سایت، این مقدار را میتوان در فایل php.ini، فایل .htaccess یا از طریق کنترلپنل هاست تغییر داد تا متناسب با نیاز پروژه، زمان اجرای مجاز تنظیم شود.
| نوع پروژه یا کاربرد | مقدار پیشنهادی Max Execution Time (ثانیه) | توضیح فنی و کاربردی |
| سایتهای ساده یا وبلاگ شخصی | 30 | مقدار پیشفرض کافی است چون پردازشها سبک هستند |
| سایت شرکتی متوسط | 60 | برای بارگذاری افزونهها و صفحات چندبخشی مناسب است |
| فروشگاه اینترنتی یا وردپرس سنگین | 120 | برای پردازش سفارشها و تصاویر بیشتر، زمان بیشتری نیاز است |
| وارد کردن دادههای حجیم (Import/Export) | 300 | مناسب برای اسکریپتهای طولانی مثل بکاپ یا ایمپورت دیتابیس |
| پروژههای برنامهنویسی و API سنگین | 600 | برای پردازشهای پیچیده یا تعامل با چند سرویس همزمان |
| محیط توسعه و تست محلی (Localhost) | 0 (بدون محدودیت) | برای تست و خطایابی بدون توقف خودکار اسکریپتها |
عواقب عدم تنظیم صحیح PHP Memory Limit و Max Execution Time برای افزایش کارایی سایت
اگر مقادیر PHP Memory Limit و Max Execution Time بهدرستی تنظیم نشوند، وبسایت شما حتی با بهترین سرور و طراحی نیز ممکن است با افت عملکرد جدی روبهرو شود. این دو پارامتر، در واقع خط دفاعی و تنظیمکننده مصرف منابع هستند.
- بروز خطای Allowed memory size exhausted هنگام اجرای اسکریپتها
- توقف ناگهانی عملیات و نمایش خطای Maximum execution time exceeded
- کندی شدید بارگذاری صفحات در زمان پردازش داده یا اجرای کوئریها
- افزایش فشار روی حافظه RAM و CPU سرور و کاهش پایداری هاست اشتراکی
- شکست عملیات مهم مانند آپلود فایلهای بزرگ، ایمپورت دیتابیس یا بروزرسانی افزونهها
- کاهش امتیاز عملکرد سایت در ابزارهایی مانند Google PageSpeed یا GTmetrix
- افزایش نرخ خروج کاربران بهدلیل تجربه کاربری ضعیف و تاخیر در بارگذاری صفحات
- احتمال افزایش مصرف منابع تا حد مسدود شدن سایت توسط ارائهدهنده هاست
سخن پایانی
در خصوص تنظیمات PHP Memory Limit و نحوه استفاده از آن برای افزایش کارایی سایت در کنار Max Execution Time گفتیم. در واقع، این تنظیمات همان نقشی را دارند که مدیریت سوخت و زمان پرواز در یک هواپیما ایفا میکند؛ اگر یکی از آنها درست تنظیم نشود، کل مسیر دچار اختلال خواهد شد. بسیاری از خطاهای کندی، توقف ناگهانی یا ناتوانی در پردازش فایلهای حجیم، نتیجه بیتوجهی به همین دو مقدار است. مدیران وبسایتها باید این مقادیر را نه براساس حدس، بلکه بر پایه دادههای واقعی عملکرد سرور و نوع فعالیت سایت تنظیم کنند.
