آموزش رفع خطای maximum execution time در وردپرس

چنانچه خطای Max Execution Time Exceeded ( زمان اجرای بیش از حد ) را در وردپرس مشاهده کردید؛ نگران نباشید. زیرا شما تنها کسی نیستید که این خطا را می بیند. در واقع این خطا یک خطای بسیار رایج و معمولی است که از PHP اسکریت ناشی می شود. بروز خطا به این دلیل است که اسکریپت در زمان مشخص شده کامل نمی شود.

وردپرس به شما می گوید این یک خطای مرگبار و کشنده است. البته نه به این معنی که برای وب سایت شما خطرناک و کشنده باشد. به این معنی که فقط مربوط به همان فرایندی است که کامل نمی شود.

البته جای نگرانی وجود ندارد، آموزش حل مشکل Maximum execution time exceeded بصورت کامل و مفصل به محل این مشکل پرداخته است.

به طور معمول قسمت ابتدایی وب سایت شما باید به آسانی کار کند و شما نیز بتوانید کارهای دیگر را انجام داده و همچنان وب سایت را مدیریت کنید. در واقع این فرایند خاص است که نمی تواند کامل شود و باعث شده شما این خطا را مشاهده کنید.

البته شما نباید خطا Maximum execution time exceeded را نادیده بگیرید. زیرا این خطا باعث می شود وب سایت شما نتواند پاسخگوی کاربران باشد.

در ادامه‌ی مقاله چند دلیل رایج برای بروز خطا “زمان اجرای بیش از حد” و همچنین راه های برطرف کردن آن شرح داده شده است. با مطالعه‌ی این مقاله شما در پایان می توانید اقدام به حل مشکل Maximum execution time exceeded بپردازید و خطا را رفع کرده و از این اتفاق خوشحال و راضی باشید. در ادامه با کانفیگ وردپرس همراه باشید.

خطای max_execution_time وردپرس چیست؟

هرچند وردپرس به شما یک نسخه‌ی دوستانه از خطا را نمایش می دهد؛ اما روش نشان دادن واقعی خطا به صورت « Fatal Error Max Execution Time Exceeded » نیست. بلکه باید آن را به صورت «max_execution_time» نمایش دهد. البته معمولا از هر دو مورد استفاده می شود و معنای یکسانی دارند.

خطای زمان اجرای بیش از حد؛ زمانی رخ می دهد که در وب سایت شما یک اسکریپت در محدوده‌ی زمانی PHP کامل نشود.

محدودیت زمانی برای کامل شدن و همچنین اجرای اسکریپت های PHP در وردپرس تقریبا 30 ثانیه است. به طور ایده آل باید زمان کافی برای کامل شدن یک تابع در نظر گرفته شود. اما این زمان نباید خیلی طولانی باشد که منجر به متوقف شدن سایت شود.

نمایش خطای Max Execution Time Exceeded (زمان اجرای بیش از حد) را در وردپرس
نمایش خطای Max Execution Time Exceeded (زمان اجرای بیش از حد) را در وردپرس

به همین دلیل وردپرس یک محدوده‌ی زمانی مشخصی را برای اجرا و کامل شدن یک اسکریپت در PHP در نظر گرفته است. یادگیری حل مشکل Maximum execution time exceeded در گرو مشاهده ادامه مقاله است.

در صورتی که در این محدوده زمانی اسکریپت کامل نشد، PHP آن را خاتمه می دهد. این کار باعث می شود عملکرد وب سایت شما حفظ شود و در آن اختلالی ایجاد نشود.

در ادامه مقاله خطای maximum execution time of 30 seconds exceeded به علل ایجاد آن نیز پرداخته شده است.

چرا خطای max_execution_time در وردپرس رخ می دهد؟

تقریبا تمامی میزبان های وب محدودیت های PHP را برای حفظ و نگهداری از منابع سرور؛ اعمال می کنند. زیرا وردپرس بر پایه PHP ساخته شده است. از این رو یک هدف رایج برای هکرها و بدافزارها می باشد. حفظ منابع سرور برای سایر عملکردها نیز مهم و ضروری است.

در واقع میزبان‌های وب باید بتوانند کارایی خود را حفظ کنند. در عین حال نیز به هر وب سایتی که در هر سرور قرار دارد؛ این اجازه را می دهند که به منابع مشترک دسترسی داشته باشد.

یکی از راه های رسیدن به این هدف ایجاد محدودیت زمانی PHP می باشد. در اکثر میزبان های وب معمولا برای استفاده از افزونه‌ها، تم‌ها، اسکریپت‌ها و همچنین برای حفظ کارها؛ محدوده‌ی زمانی بین 30 تا 60 ثانیه برای PHP در نظر گرفته می شود.

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

نمایش خطای Max Execution Time Exceeded به دلیل محدودیت زمانی PHP
نمایش خطای Max Execution Time Exceeded به دلیل محدودیت زمانی PHP

هر چند مشاهده این خطا برای کاربران خیلی خوشایند نیست. اما درک این موضوع که نمایش «خطای کشنده و مرگبار» به این فرآیند به خصوص مربوط می شود و نه وب سایت؛ بسیار مهم است.

نحوه حل خطای max_execution_time در وردپرس

اما برای حل مشکل Maximum execution time exceeded راهکار هایی وجود دارد که در ادامه بیان کرده ایم. البته قبل از آن باید بدانیم که چه چیزی باعث بروز این خطا شده است. سپس باید آن را متوقف کنیم و در نهایت هر اقدامی که مورد نیاز باشد را می توانیم انجام دهیم.

حل مشکل Maximum execution time exceeded
حل مشکل Maximum execution time exceeded

شناسایی علت بروز خطای زمان اجرای بیش از حد

حل مشکل Maximum execution time exceeded در گرو شناسایی علت بروز خطای زمان اجرای بیش از حد است.

در بعضی از مواقع وردپرس دلیل بروز خطا را به شما نشان می دهد. به طور مثال در تصویر فوق فرآیند به روز رسانی افزونه با خطا مواجه شده است. به این ترتیب می توان دلیل بروز خطا را پیدا کرد.

سایر موارد اینچنینی مانند پیام های خطا با نام فایل در کنار آنها؛ نیز به شما سرنخ هایی می دهند که بتوانید دلیل بروز خطا را شناسایی کنید. پیام هایی از قبیل «درباره اشکال‌زدایی در وردپرس بیشتر بدانید» و سایر موارد مشابه نیز به شما کمک می کنند علت بروز خطا را پیدا کنید.

در برخی از موارد نیز وب سایت وردپرس ایمیلی را برای شما ارسال می کند که نشان می دهد چه اتفاقی رخ داده است.

البته ناگفته نماند که این ویژگی در نسخه‌ی 5.2 وجود دارد و برای شناسایی افزونه ها، تم ها یا فرآیندهای ایجاد کننده خطا به کار گرفته می شود. برای اینکه بفهمید چه اشتباهی رخ داده باید تمام این موارد را به خوبی بررسی کنید.

اگر خطا به دلیل یک افزونه رخ داده، باید آن را حذف کنید یا اینکه آن را به روزرسانی کنید. همچنین شما می‌توانید وب‌ سایت افزونه را مجددا بررسی کنید.

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

اگر متوجه شدید که در زمان به روزرسانی یک افزونه خطا رخ داده؛ نباید همه‌ی افزونه ها را یکجا و با هم انتخاب کنید. در این گونه موارد شما باید با استفاده از چک باکس 4 یا 5 افزونه را انتخاب کرده و آنها را به روزرسانی کنید.

این کار را باید تا جایی تکرار کنید که همه‌ی افزونه ها به روزرسانی شوند. به علاوه شما می توانید از به روزرسانی خودکار که یک ویژگی جدید در وردپرس است نیز استفاده کنید.

چنانچه قالب وردپرس باشد می توانید آن را تغییر داده به زمینه (تم) پیش فرض بیست بیست و یک تبدیل کنید. مجدد قالب را تست کنید. در ادامه راهنمای تغییر قالب وردپرس آورده شده است.

اگر باز هم این خطا را مشاهده کردید و می دانید که ارتباطی به یک افزونه ندارد؛ باید محدودیت زمانی PHP را به صورت دستی افزایش دهید. این کار با تغییر چند فایل امکان پذیر است. در صورتی که تمایل به این کار داشته باشید؛ یک افزونه برای آن نیز وجود دارد.

خطای maximum execution time of 30 seconds exceeded
خطای maximum execution time of 30 seconds exceeded

بهترین کاری که شما می توانید به جای تمدید محدودیت زمانی PHP انجام دهید این است که اسکریپتی را که باعث بروز خطا می‌شود شناسایی کنید.

در واقع رسیدگی به این موضوع راه حل بهتری است. زیرا تمدید محدودیت زمانی PHP یک راه حل مقطعی است و علت اصلی بروز خطا را برطرف نمی کند. البته انتخاب این کار به خود شما بستگی دارد.

ویرایش htaccess برای خطای maximum execution time of 30 seconds exceeded

اگر می خواهید زمان بیشتری برای تکمیل اسکریپت اضافه کنید؛ باید یک دستورالعمل محدودیت زمانی PHP را در htaccess اضافه کنید. زیرا فایل htaccess شما دسترسی به وردپرس و همچنین دسترسی به برخی منابع سرور را کنترل می کند.

در نظر داشته باشید که ویرایش htaccess برای خطای maximum execution time of 30 seconds exceeded حساس است و باید از قبل از سایت بک آپ داشته باشید.

برای دسترسی به مدیریت فایل باید وارد میزبان وب سایت خود شوید.

  • سپس به فایل public_html خود بروید و در آنجا htaccess را انتخاب کنید.
  • با کلیک راست بر روی htaccess گزینه‌ی کپی کردن (copy) را انتخاب نمایید.
  • شما می توانید نام فایل کپی را htaccess.bk بگذارید. با این کار شما همیشه یک فایل یدکی خواهید داشت. (برای داشتن بک آپ)
  • در ادامه باید بر روی فایل اصلی htaccess کلیک راست کرده و گزینه‌ی Edit را انتخاب نمایید.

سپس کد زیر را به فایل اضافه کنید و آن را ذخیره نمایید.

php_value max_execution_time 300

ویرایش فایل wp-config.php برای حل مشکل Maximum execution time exceeded

برای تغییر محدودیت زمانی PHP و افزایش دادن آن و برای حل مشکل Maximum execution time exceeded؛ می توانید فایل wp-config.php را نیز تغییر دهید. این کار نیز مانند فرایند ویرایش htaccess است و از بروز خطا جلوگیری می کند. با این تفاوت که این بار به جای آن wp-config.php را تغییر می دهید.

روش تغییر فایل wp-config.php
روش تغییر فایل wp-config.php

برای تغییر wp-config.php؛ شما باید وارد میزبان وب سایت خود شوید.

  • از قسمت ابزار مدیریت (Control Panel) می توانید به فایل دسترسی داشته باشید و آن را مدیریت کنید.
  • سپس به فایل public_html خود بروید و در آنجا wp-config.php را انتخاب نمایید.
  • در ادامه شما باید wp-config.php را کپی کنید. همانند فرایند قبلی نام فایل کپی را wp-config.php.bk بگذارید تا همیشه یک فایل یدکی داشته باشید.
  • در ادامه باید فایل اصلی wp-config.php را ویرایش (Edit) نمایید و کد زیر را به فایل افزوده و آن را ذخیره کنید.
set_time_limit(300);

این تغییر برای جلوگیری از بروز خطا کافی است.

ویرایش فایل php.ini برای حل مشکل Maximum execution time exceeded

روش دیگر برای حل مشکل Maximum execution time exceeded ویرایش فایل php.ini است. اگر نمی توانید فایل بسیار مهم .htaccess به راحتی ویرایش کنید بهتر از این روش که راحت تر و ساده تر است استفاده نمایید. این فرایند نیز مانند فرایند قبلی است.

  • شما ابتدا باید وارد میزبان وب سایت خود شوید تا به مدیریت فایل دسترسی داشته باشید.
  • سپس در فایل public_html می توانید php.ini را انتخاب و سپس آن را کپی کنید. همانند روش های قبلی نام فایل را برای حفظ فایل یدکی؛ php.ini.bk بگذارید.
  • در ادامه باید فایل اصلی php.ini را ویرایش نمایید.
  • این کار با کلیک راست بر روی فایل و انتخاب گزینه‌ی Edit امکان پذیر است.
  • سپس کد زیر را به فایل اضافه نمایید و آن را ذخیره کنید.
max_execution_time = 300

در این کد PHP مشخص نشده به این دلیل که شما در یک فایل PHP قرار دارید. این هم روش دیگری برای حل مشکل Maximum execution time exceeded است.

حل مشکل Maximum execution time exceeded با استفاده از افزونه

برای حل مشکل Maximum execution time exceeded از افزونه WP Maximum Execution Time Exceeded استفاده کنید.

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

اما در صورتی که از افزونه‌ی WP Maximum Execution Time Exceeded استفاده کنید؛ دیگر نیازی به تغییر هیچ یک از فایل ها نیست و شما به راحتی می توانید محدودیت زمانی PHP (مشکل Maximum execution time exceeded) را برطرف کنید.

البته توصیه می شود قبل از نصب این افزونه از وب سایت خود یک نسخه‌ی پشتیبان (Backup) تهیه کنید. اگر یک کپی از فایل htaccess خود تهیه کنید نیز کفایت می کند.

افزونه WP Maximum Execution Time Exceeded
افزونه WP Maximum Execution Time Exceeded

برای نصب افزونه WP Maximum Execution Time Exceeded مراحل زیر را انجام دهید.

  • در این مرحله شما باید وارد وردپرس شوید و از قسمت Plugins گزینه‌ی Add New را انتخاب کنید.
  • سپس باید عبارت Use the WP Maximum Execution Time Exceeded را جستجو کرده و گزینه‌ی Install را انتخاب کنید.
  • در ادامه باید گزینه Activate را انتخاب کنید.
  • در این قسمت هیچ پیکربندی با افزونه وجود ندارد. این روش به سادگی کد را به فایل htaccess شما اضافه کرده و محدودیت زمانی PHP را به اندازه‌ی 300 ثانیه (5 دقیقه) افزایش می دهد.

چگونه از مشکل Maximum execution time exceeded جلوگیری کنیم

این نکته که پیشگیری همیشه بهتر از درمان است در مورد وردپرس نیز صدق می کند. خصوصا در مواردی که بخت با شما یار نیست و ممکن است بر اثر بروز خطا وب سایت شما خراب شود؛ پیشگیری بهترین گزینه است.

برای جلوگیری از هک شدن سایت نیز پیشنهاد می شود از خدمات تخصصی افزایش امنیت وردپرس

چند راه حل مفید برای پیشگیری از این اتفاق وجود دارد و شما می توانید آنها را انجام دهید.

عیب یابی افزونه ها

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

به این منظور شما باید همه افزونه ها را غیرفعال کنید و به تدریج آنها را یکی یکی فعال کنید. با این کار موقعیتی که باعث بروز خطا می شود را دوباره ایجاد کنید.

در هر بار یکی از پلاگین ها را پاک کرده و دوباره تکرار کنید. این کار را تا زمانی ادامه دهید که مشخص شود چه افزونه ای موجب بروز خطا و مشکل شده است.

عیب یابی قالب وردپرس

راه دیگر برای جلوگیری از مشکل Maximum execution time exceeded عیب یابی قالب وردپرس است.

به ندرت پیش می آید که موضوع وردپرس شما حاوی یک اسکریپت پیچیده باشد و زمان آن تمام شود. این اتفاق ممکن است به این دلیل باشد که عیب یابی افزونه های خود را بدون شانس امتحان کرده اید و یا اینکه در زمان به روزرسانی موضوع محدودیت زمانی PHP را وارد کرده اید.

ساده ترین و آسان ترین راه برای پیدا کردن این موضوع؛ این است که آن را به حالت پیش فرض تغییر داده و آن را دوباره امتحان کنید.

برای این کار شما باید از قسمت نمایش به بخش قالب ها بروید. سپس قالب بیست بیست و یک را انتخاب کرده و آن را فعال کنید. اگر خطا با تم پیش‌فرض دوباره ایجاد شد نتیجه می گیریم این موضوع دلیل بروز خطا نیست.

اما اگر خطا برطرف شد، به این معنی است که مشکل از یک اسکریپت PHP است که در حال تمام شدن است. در این صورت شما باید قالب وردپرس خود را آپدیت کرده و یا با پشتیبانی آن در ارتباط باشید.

افزایش منابع لازم توسط هاست برای پیشگیری

در صورتی که وب سایت وردپرس شما به قدرکافی رشد کرده و اسکریپت ها به طور منظم در حال تمام شدن هستند؛ باید برنامه میزبانی خود را ارتقا دهید یا اینکه از میزبان خود بخواهید زمان را افزایش دهد.

برخی از اسکریپت هستند که می توانند در وردپرس اجرا شوند و باعث می شوند سایت های بزرگتر کُند شوند. اگر این موضوع به یک مسئله عادی تبدیل شد، باید آن را با میزبان خود در میان بگذارید و گزینه های خود را بررسی کنند.

نتیجه گیری کلی

در یک مقاله بسیار مفصل، آموزش حل مشکل Maximum execution time exceeded با روش های گوناگون به شما آموزش دادیم. نظر و پیشنهاد ما استفاده از افزونه برای جلوگیری و حل مشکل Maximum execution time exceeded است.

ما مقاله های مهم دیگری نیز داریم که هرکدام در جایگاه خود بسیار اهمیت دارد، پیشنهاد می کنیم از مطالب زیر هم استفاده نمایید.

تمرکز و خدمات اصلی کانفیگ وردپرس در زمینه افزایش امنیت وردپرس است. در هر صورت اگر به هر شکلی سایت شما هک شد ، می توانید از خدمات پاکسازی سایت هک شده و ویروسی بصورت تخصصی استفاده نمایید.

ترجمه ای از سایت : wpastra

مقالاتی که می تواند مفید باشد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید

keyboard_arrow_up