خانه وردپرس و سایت‌سازها افزایش PHP Time Limit در وردپرس: ۴ روش رفع خطای Maximum Execution Time (۲۰۲۵)
تاریخ به‌روزرسانی : 1399/07/02
به قلم : شهاب بیرامی
زمان مطالعه : 5 دقیقه

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

افزایش 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 آن را متوقف می‌کند و خطای زیر نمایش داده می‌شود:

Fatal error: Maximum execution time of 30 seconds exceeded in /path/to/file.php on line XX

چه زمانی این خطا رخ می‌دهد؟

  • 📦 نصب یا آپدیت پلاگین‌های سنگین
  • 🎨 فعال‌سازی یا آپدیت قالب
  • 📥 وارد کردن (Import) محتوا
  • 💾 بکاپ گرفتن با پلاگین
  • 🔄 بهینه‌سازی دیتابیس
  • 🖼️ فشرده‌سازی تصاویر

بررسی مقدار فعلی PHP Time Limit

قبل از تغییر، باید بدانید مقدار فعلی چقدر است. دو روش ساده:

روش ۱: از پیشخوان وردپرس (ابزارها → سلامت سایت → اطلاعات → سرور)

روش ۲: ایجاد فایل phpinfo

یک فایل به نام info.php در پوشه public_html بسازید:

<?php phpinfo(); ?>

سپس آدرس yourdomain.com/info.php را باز کنید و max_execution_time را جستجو کنید.

🚨 مهم: بعد از بررسی، حتماً فایل info.php را حذف کنید چون اطلاعات حساس سرور را نمایش می‌دهد.

روش ۱: افزایش از طریق wp-config.php (توصیه‌شده)

ساده‌ترین روش برای کاربران با دسترسی FTP:

  1. فایل wp-config.php را در ریشه وردپرس باز کنید
  2. قبل از خط /* That's all, stop editing! */ کد زیر را اضافه کنید:
// Increase PHP Time Limit to 300 seconds
set_time_limit(300);
  1. فایل را ذخیره کنید

💡 نکته: مقدار ۳۰۰ ثانیه (۵ دقیقه) برای اکثر کارها کافی است. مقادیر بالاتر می‌تواند باعث مصرف بیش از حد منابع سرور شود.

روش ۲: افزایش از طریق .htaccess

اگر روش قبلی کار نکرد، این روش را امتحان کنید:

  1. فایل .htaccess را در ریشه وردپرس باز کنید
  2. کد زیر را در انتهای فایل اضافه کنید:
# Increase PHP Time Limit
php_value max_execution_time 300

⚠️ توجه: اگر بعد از اضافه کردن این کد، خطای 500 دیدید، یعنی هاست شما این روش را مسدود کرده. کد را حذف کنید و روش دیگری امتحان کنید.

روش ۳: ویرایش php.ini (بهترین روش برای VPS)

اگر به سرور مجازی (VPS) دسترسی دارید، این روش بهترین و پایدارترین است:

  1. فایل php.ini را پیدا کنید (معمولاً در /etc/php/8.x/fpm/php.ini)
  2. خط زیر را پیدا و ویرایش کنید:
max_execution_time = 300
  1. سرویس PHP را ریستارت کنید:
sudo systemctl restart php8.2-fpm

روش ۴: استفاده از افزونه

اگر نمی‌خواهید فایل‌ها را ویرایش کنید، می‌توانید از افزونه استفاده کنید. افزونه‌هایی مثل 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 فعال و پشتیبانی ۲۴/۷ برای بهترین عملکرد وردپرس.

خرید هاست وردپرس
سرور مجازی

منابع

نظرات