راهنمای جامع و گام‌به‌گام رفع خطای Maximum Execution Time Exceeded در وردپرس

مواجهه با خطاهای پیش‌بینی‌نشده در محیط وردپرس، یکی از چالش‌های همیشگی مدیران سایت‌ها است. احتمالاً برای شما نیز پیش آمده است که در حین به‌روزرسانی یک قالب سنگین، نصب افزونه‌ای جدید یا درون‌ریزی اطلاعات، ناگهان با یک صفحه سفید یا پیغام خطای Fatal Error: Maximum Execution Time Exceeded روبه‌رو شوید.

مواجهه با خطاهای پیش‌بینی‌نشده در محیط وردپرس، یکی از چالش‌های همیشگی مدیران سایت‌ها است. احتمالاً برای شما نیز پیش آمده است که در حین به‌روزرسانی یک قالب سنگین، نصب افزونه‌ای جدید یا درون‌ریزی اطلاعات، ناگهان با یک صفحه سفید یا پیغام خطای Fatal Error: Maximum Execution Time Exceeded روبه‌رو شوید.

بروز این خطا در نگاه اول ممکن است نگران‌کننده به نظر برسد و حس از دست رفتن اطلاعات سایت را القا کند؛ اما جای هیچ‌گونه نگرانی نیست. در این وضعیت، سایت شما هک نشده و هیچ داده‌ای از بین نرفته است. این مشکل صرفاً یک محدودیت پردازشی در سرور است که با چند تنظیم ساده قابل رفع خواهد بود. در این مقاله، به بررسی کامل دلایل بروز این خطا و روش‌های استاندارد برطرف کردن آن می‌پردازیم.

خطای Maximum Execution Time Exceeded چیست؟

سیستم مدیریت محتوای وردپرس بر پایه زبان برنامه‌نویسی PHP توسعه یافته است. سرورهای میزبانی وب (هاست) برای جلوگیری از مصرف بیش‌ازحد منابع و جلوگیری از اختلال در عملکرد کلی سرور، یک محدودیت زمانی مشخص برای اجرای دستورات و اسکریپت‌های PHP اعمال می‌کنند.

به‌طور پیش‌فرض، این زمان معمولاً روی ۳۰ ثانیه تنظیم شده است. اگر اجرای یک پردازش (مانند نصب یک افزونه حجیم یا آپلود فایل‌های سنگین) بیشتر از این زمان به طول بینجامد، سرور به‌صورت خودکار فرآیند را متوقف کرده و خطای «پایان یافتن حداکثر زمان اجرا» را نمایش می‌دهد.

مهم‌ترین دلایل بروز خطا در وردپرس

پیش از اقدام به رفع مشکل، بهتر است بدانیم چه عواملی باعث طولانی شدن پردازش‌ها می‌شوند:

  • نصب و به‌روزرسانی افزونه‌ها یا قالب‌های سنگین: برخی از افزونه‌های امنیتی، سئو یا بک‌آپ‌گیری حاوی کدهای پیچیده‌ای هستند که پردازش آن‌ها بیش از ۳۰ ثانیه زمان می‌برد.
  • محدودیت منابع هاست: استفاده از هاست‌های اشتراکی ضعیف و ارزان‌قیمت، سرعت پردازش داده‌ها را کاهش داده و منجر به کمبود زمان می‌شود.
  • درون‌ریزی دموها و کیت‌های طراحی: اجرای دموهای سنگین صفحه‌سازهایی مانند المنتور، نیازمند پردازش هم‌زمان هزاران فایل و تصویر است که فشار زیادی به سرور وارد می‌کند.
  • حجم بالای دیتابیس: آپلود فایل‌های حجیم یا وارد کردن پایگاه داده‌های بزرگ (به‌ویژه هنگام انتقال و مهاجرت سایت) زمان‌بر بوده و اغلب از سقف مجاز عبور می‌کند.

روش‌های کاربردی برای حل خطای Maximum Execution Time

برای رفع این مشکل، تنها کافی است محدودیت زمانی پیش‌فرض سرور را افزایش دهیم (به‌عنوان مثال از ۳۰ ثانیه به ۳۰۰ ثانیه). در ادامه، ۳ روش استاندارد برای انجام این کار ارائه شده است:

روش اول: ویرایش فایل wp-config.php (سریع‌ترین راهکار)

این روش به دلیل دسترسی آسان و عدم نیاز به تغییرات پیچیده، همواره به‌عنوان نخستین راهکار پیشنهاد می‌شود.

  1. وارد کنترل‌پنل هاست خود (cPanel یا DirectAdmin) شوید.
  2. به بخش File Manager (مدیریت فایل‌ها) مراجعه کنید.
  3. وارد مسیر public_html (پوشه اصلی سایت) شوید.
  4. فایل wp-config.php را یافته، روی آن کلیک راست کرده و گزینه Edit را انتخاب کنید.
  5. به دنبال خط /* That’s all, stop editing! Happy blogging. */ بگردید.
  6. دقیقاً پیش از این خط، قطعه کد زیر را قرار داده و فایل را ذخیره (Save) کنید:

    set_time_limit(300);

این کد، زمان مجاز برای اجرای اسکریپت‌ها را به ۳۰۰ ثانیه (۵ دقیقه) افزایش می‌دهد.

روش دوم: اعمال تغییرات در فایل .htaccess

در صورتی که روش اول مؤثر واقع نشد، می‌توانید تنظیمات وب‌سرور (آپاچی) را تغییر دهید. نکته: این فایل در هاست مخفی است. در سی‌پنل، از بخش Settings گزینه Show Hidden Files (dotfiles) را فعال کنید.

  1. در مسیر public_html، روی فایل .htaccess کلیک راست کرده و Edit را بزنید.
  2. در انتهای کدهای موجود، دستور زیر را وارد نمایید:

    php_value max_execution_time 300

  3. تغییرات را ذخیره کرده و سایت خود را مجدداً بررسی کنید. به احتمال بسیار زیاد خطا برطرف شده است.

روش سوم: ویرایش فایل php.ini (مخصوص کاربران حرفه‌ای)

این راهکار بیشتر برای کاربرانی مناسب است که از سرورهای مجازی (VPS) یا اختصاصی استفاده می‌کنند، و یا هاستینگ آن‌ها ابزار MultiPHP INI Editor را در اختیارشان قرار داده است.

  1. در صفحه اصلی سی‌پنل، از بخش Software روی MultiPHP INI Editor کلیک کنید.
  2. دامنه سایت خود را از منوی کشویی انتخاب نمایید.
  3. در لیست تنظیمات، پارامتر max_execution_time را پیدا کنید.
  4. مقدار پیش‌فرض (که معمولاً ۳۰ است) را پاک کرده و عدد ۳۰۰ را جایگزین آن کنید.
  5. در نهایت روی دکمه Apply یا Save کلیک کنید.

(در صورت دسترسی مستقیم به فایل php.ini در روت هاست، می‌توانید دستور max_execution_time = 300 را به آن اضافه کنید).

بررسی تداخل افزونه‌ها (در صورت عدم رفع مشکل)

چنانچه با افزایش زمان سرور همچنان خطا پابرجا بود، احتمالاً یک افزونه دچار باگ شده و در یک حلقه بی‌نهایت (Infinite Loop) گرفتار شده است. برای شناسایی افزونه مخرب:

  1. از طریق File Manager به مسیر public_html/wp-content بروید.
  2. نام پوشه plugins را موقتاً به عبارت دیگری (مانند plugins-old) تغییر دهید. این کار تمامی افزونه‌ها را غیرفعال می‌کند.
  3. سایت را بررسی کنید. اگر خطا برطرف شد، مشکل از یکی از افزونه‌هاست.
  4. نام پوشه را به حالت اولیه (plugins) بازگردانید.
  5. از طریق پیشخوان وردپرس، افزونه‌ها را یکی‌یکی فعال کنید تا افزونه‌ای که باعث بروز خطا می‌شود را شناسایی و جایگزین نمایید.

اقدامات پیشگیرانه و اشتباهات رایج

برای جلوگیری از تکرار این محدودیت آزاردهنده در آینده، رعایت نکات زیر الزامی است:

  • تهیه هاست باکیفیت: استفاده از سرویس‌های میزبانی استاندارد با منابع اختصاصی مناسب، بخش عمده‌ای از مشکلات پردازشی وردپرس را کاهش می‌دهد.
  • به‌روزرسانی نسخه PHP: نسخه‌های جدید PHP (نسخه ۸.۰ به بالا) مدیریت منابع بسیار بهینه‌تری دارند. از طریق بخش Select PHP Version در هاست، همواره از نسخه‌های پایدار و جدید استفاده کنید.
  • پرهیز از قالب‌های غیراستاندارد: استفاده از پوسته‌های سبک و بهینه‌سازی‌شده، فشار روی سرور را به حداقل می‌رساند.

اشتباهاتی که نباید مرتکب شوید:

  • تنظیم اعداد نجومی: قرار دادن محدودیت زمانی روی اعداد بسیار بالا (مانند ۳۶۰۰) ریسک امنیتی دارد و در صورت درگیری سرور با یک اسکریپت مخرب، منابع سایت کاملاً مسدود می‌شود. عدد ۳۰۰ ثانیه یک استاندارد منطقی است.
  • عدم تهیه نسخه پشتیبان (Backup): پیش از ایجاد هرگونه تغییر در فایل‌های حساسی مانند wp-config.php، حتماً از اطلاعات سایت خود بک‌آپ تهیه کنید.

برای مطالعه دقیق‌تر این مراحل و آشنایی بیشتر با جزئیات فنی، پیشنهاد می‌کنیم به منبع اصلی این مطلب، یعنی آموزش رفع خطای Maximum Execution Time Exceeded در وردپرس زیر ۳ دقیقه مراجعه نمایید تا با خیالی آسوده و به‌صورت کاملاً اصولی، مشکلات سایت خود را مدیریت کنید.

دیدگاه کاربران

لغو پاسخ

مطالب مرتبط با پست جاری

گردونه صراف