افزایش PHP Time Limit در وردپرس: ۴ روش رفع خطای Maximum Execution Time (۲۰۲۵)

📌 خلاصه مطلب (TL;DR)
- خطا چیست؟ "Fatal error: Maximum execution time of 30 seconds exceeded" یعنی اسکریپت PHP بیش از حد مجاز اجرا شده.
- مقدار پیشفرض: ۳۰ ثانیه (در اکثر هاستها)
- مقدار پیشنهادی: ۳۰۰ ثانیه (۵ دقیقه) - مقدار بالاتر توصیه نمیشود
- سریعترین روش: اضافه کردن
set_time_limit(300);به wp-config.php
🔍 تشخیص سریع: کدام روش برای من مناسب است؟
- ✅ دسترسی FTP دارم: روش wp-config.php یا .htaccess
- ✅ دسترسی SSH/VPS دارم: روش php.ini (بهترین)
- ✅ هاست اشتراکی با محدودیت: با پشتیبانی تماس بگیرید
- ✅ نمیخواهم کد بزنم: از افزونه استفاده کنید
خطای "Maximum execution time exceeded" یکی از رایجترین خطاهای وردپرس است که معمولاً هنگام نصب پلاگین، آپدیت قالب، وارد کردن محتوا یا بکاپ گرفتن رخ میدهد. در این مقاله، ۴ روش مختلف برای افزایش PHP Time Limit را یاد میگیرید.
جدول مقایسه: روشهای افزایش PHP Time Limit
| روش | فایل | سطح دسترسی | پایداری |
|---|---|---|---|
| php.ini | php.ini | SSH/VPS | 🟢 بهترین |
| wp-config.php | wp-config.php | FTP | 🟢 خوب |
| .htaccess | .htaccess | FTP | 🟡 متوسط |
| افزونه | - | پیشخوان | 🟡 متوسط |
PHP Time Limit چیست؟
max_execution_time (یا PHP Time Limit) حداکثر زمانی است که یک اسکریپت PHP اجازه اجرا دارد. اگر اسکریپت بیشتر از این مقدار طول بکشد، PHP آن را متوقف میکند و خطای زیر نمایش داده میشود:
چه زمانی این خطا رخ میدهد؟
- 📦 نصب یا آپدیت پلاگینهای سنگین
- 🎨 فعالسازی یا آپدیت قالب
- 📥 وارد کردن (Import) محتوا
- 💾 بکاپ گرفتن با پلاگین
- 🔄 بهینهسازی دیتابیس
- 🖼️ فشردهسازی تصاویر
بررسی مقدار فعلی PHP Time Limit
قبل از تغییر، باید بدانید مقدار فعلی چقدر است. دو روش ساده:
روش ۱: از پیشخوان وردپرس (ابزارها → سلامت سایت → اطلاعات → سرور)
روش ۲: ایجاد فایل phpinfo
یک فایل به نام info.php در پوشه public_html بسازید:
سپس آدرس yourdomain.com/info.php را باز کنید و max_execution_time را جستجو کنید.
🚨 مهم: بعد از بررسی، حتماً فایل info.php را حذف کنید چون اطلاعات حساس سرور را نمایش میدهد.
روش ۱: افزایش از طریق wp-config.php (توصیهشده)
سادهترین روش برای کاربران با دسترسی FTP:
- فایل
wp-config.phpرا در ریشه وردپرس باز کنید - قبل از خط
/* That's all, stop editing! */کد زیر را اضافه کنید:
set_time_limit(300);
- فایل را ذخیره کنید
💡 نکته: مقدار ۳۰۰ ثانیه (۵ دقیقه) برای اکثر کارها کافی است. مقادیر بالاتر میتواند باعث مصرف بیش از حد منابع سرور شود.
روش ۲: افزایش از طریق .htaccess
اگر روش قبلی کار نکرد، این روش را امتحان کنید:
- فایل
.htaccessرا در ریشه وردپرس باز کنید - کد زیر را در انتهای فایل اضافه کنید:
php_value max_execution_time 300
⚠️ توجه: اگر بعد از اضافه کردن این کد، خطای 500 دیدید، یعنی هاست شما این روش را مسدود کرده. کد را حذف کنید و روش دیگری امتحان کنید.
روش ۳: ویرایش php.ini (بهترین روش برای VPS)
اگر به سرور مجازی (VPS) دسترسی دارید، این روش بهترین و پایدارترین است:
- فایل php.ini را پیدا کنید (معمولاً در
/etc/php/8.x/fpm/php.ini) - خط زیر را پیدا و ویرایش کنید:
- سرویس PHP را ریستارت کنید:
روش ۴: استفاده از افزونه
اگر نمیخواهید فایلها را ویرایش کنید، میتوانید از افزونه استفاده کنید. افزونههایی مثل WP Maximum Execution Time Exceeded این کار را بهصورت خودکار انجام میدهند.
مقدار مناسب برای max_execution_time
| مقدار | کاربرد | توصیه |
|---|---|---|
| 30 ثانیه | پیشفرض - سایتهای ساده | ✅ برای اکثر سایتها |
| 60 ثانیه | پلاگینهای متوسط | ✅ مناسب |
| 300 ثانیه | بکاپ، Import، بهینهسازی | ✅ پیشنهادی |
| 600+ ثانیه | عملیات سنگین | ⚠️ احتیاط |
| 0 (نامحدود) | - | ❌ توصیه نمیشود |
سوالات متداول درباره PHP Time Limit
چرا خطای Maximum Execution Time رخ میدهد؟
این خطا زمانی رخ میدهد که یک اسکریپت PHP بیش از زمان مجاز (معمولاً ۳۰ ثانیه) اجرا شود. دلایل رایج: نصب پلاگین سنگین، Import داده زیاد، بکاپ گرفتن، بهینهسازی دیتابیس یا فشردهسازی تصاویر.
آیا افزایش PHP Time Limit خطرناک است؟
تا مقدار ۳۰۰ ثانیه معمولاً مشکلی ایجاد نمیکند. اما مقادیر بالاتر میتواند باعث شود اسکریپتهای مشکلدار منابع سرور را مصرف کنند. هرگز مقدار را روی 0 (نامحدود) تنظیم نکنید.
روش .htaccess کار نمیکند، چرا؟
اکثر هاستهای اشتراکی دستور php_value را در .htaccess مسدود کردهاند تا از سوءاستفاده جلوگیری کنند. در این حالت از روش wp-config.php استفاده کنید یا با پشتیبانی هاست تماس بگیرید.
آیا میتوانم این تغییر را برگردانم؟
بله، کافی است کدی که اضافه کردید را حذف کنید تا مقدار به پیشفرض سرور برگردد. اگر از افزونه استفاده کردهاید، غیرفعال کردن افزونه کافی است.
بعد از تغییر، چرا همچنان خطا میگیرم؟
ممکن است هاست شما تغییرات را override کند. با پشتیبانی تماس بگیرید و بخواهید max_execution_time را افزایش دهند. همچنین مطمئن شوید کش سایت را پاک کردهاید.
نتیجهگیری
خطای "Maximum execution time exceeded" با افزایش مقدار max_execution_time به ۳۰۰ ثانیه قابل رفع است. بهترین روش برای سرور مجازی ویرایش php.ini است و برای هاست اشتراکی روش wp-config.php توصیه میشود.
🚀 هاست قدرتمند با تنظیمات PHP بهینه
هاست برتینا با PHP 8.2، OPcache فعال و پشتیبانی ۲۴/۷ برای بهترین عملکرد وردپرس.




