دوره تخصصی UI باالمنتور

بررسی خطای fatal error maximum execution time exceeded

نویسنده : آتنا مظهری نیا
بدون دیدگاه
آخرین بروزرسانی : 19 تیر, 1400
Share on twitter
Share on linkedin
Share on pinterest
Share on telegram
Share on whatsapp
Share on email

آنچه در این مطلب می خوانید

زمانی که قصد دارید یکی از افزونه ها یا قالب سایت وردپرسی خود را بروز رسانی کنید احتمال دارد با خطای fatal error maximum execution time exceeded برخورد کنید. این خطا در حقیقت بیانگر این مسئله می باشد که یک کد PHP در وردپرس بیشتر از حداکثر سقف زمانی درنظر گرفته شده برای اجرا زمان برده است. ممکن است مشاهده این خطا برای افرادی که آشنایی زیادی با زبان پی اچ پی، وردپرس و پیغام های خطای آن ندارند بسیار نگران کننده به نظر بیاید و این تصور را ایجاد کند که وب سایت وردپرسی دیگر قابل استفاده نخواهد بود. اما واقعیت ماجرا این است که خطای حداکثر زمان اجرا بیش از ۳۰ ثانیه که گاهاً ممکن است به صورت 60 ثانیه نیز نمایش داده شود از خطاهای پرتکرار هر وبسایت وردپرسی به حساب می آیدد و فرد می تواند با صرف کمی زمان و دقت به راحتی آن را حل کند. در ادامه این مطلب سعی می کنیم تا به طرز ساده و در عین حال دقیق تری این پیغام خطای نگران کننده را بررسی کنیم و روش های کارآمد و درستی برای رفع این خطا به شما ارائه کنیم. باما همراه باشید.

علت نمایش پیغام خطای Max execution time

ازآنجایی که خودتان نیز ممکن است در جریان باشید پلتفرم وردپرس تا حد بسیار زیادی با زبان برنامه نویسی پی اچ پی نوشته شده است. پی اچ پی زبان بسیار قدرتمند و در عین حال نسبتا قدیمی به حساب می آید. سرویس دهندگان بستر وب برای این که وقت کاربر برای یک سایت هدر نرود و همچنین برای حفظ سیاست های امنیتی برای هر اسکریپت زبان php زمانی بین 30 تا 60 ثانیه درنظر گرفته اند. اگر یک اسکریپت در این مدت زمان به درستی اجرا نشود پیغام  Max execution time به کاربر نمایش داده خواهد شد.

چگونه می توان خطای Max execution time را برطرف کرد؟

برای برطرف کردن خطای Max execution time 4 راه کلی وجود دارد که به شرح زیر است:

  • ویرایش فایل htaccess.
  • ویرایش فایل wp-config.php
  • ویرایش فایل php.ini
  • استفاده از افزونه Google Pagespeed Insights

روش اول ویرایش فایل htaccess.

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

در ابتدا شما باید با وارد کردن نام کاربری و رمز عبور در خصوص ورود به سی پنل اقدام کنید. سپس در پیشخوان و از طریق منو Files زیر منو File Manager را انتخاب نمایید.

در این صفحه از میان گزینه های موجود، دایرکتوری public_html را انتخاب کنید.

. در دایرکتوری public_html و از میان گزینه های قرار گرفته در آن فایل htaccess. را پیدا کرده و روی آن راست کلیک نمایید. در ادامه نیز از میان گزینه های موجود روی گزینه Edit کلیک کنید تا وارد آن شوید، سپس کد php_value max_execution_time 60 را در انتهای فایل و قبل از End# قرار داده و در نهایت روی دکمه افزودن کلیک کنید. بدین ترتیب حداکثر زمان اجرای php به 60 ثانیه افزایش پیدا کرده و دیگر خطای Maximum execution time of 30 seconds exceeded نمایش داده نمی شود. در نظر داشته باشید که می توانید در صورت تمایل این زمان را تا هز میزان که تمایل دارید افزایش دهید. اما توصیه ما به شما این است که زمان را تا حد معقولی افزایش دهید تا امنیت وب سایتان نیز به خطر نیافتد.

روش دوم ویرایش فایل php.ini

راه حل دیگری که می توانید از آن برای افزایش php time limit در وردپرس استفاده کنید، ویرایش فایل php.ini است. این فایل در واقع یک نوع فایل پیکربندی به شمار می رود که تنظیمات PHP سرور شما را تعریف می کند و معمولاً هم نمی توانید در میان فایل های موجود روی پنل مدیریتی هاست خود آن را پیدا نمایید. در صورت تمایل به استفاده از این فایل به منظور رفع خطای Maximum execution time of 30 seconds exceeded شما باید یک فایل با عنوان php.ini در دایرکتوری اصلی وب سایت خود یعنی public_html ایجاد نمایید. سپس فایل فوق را با استفاده از گزینه Edit ویرایش نموده و کد max_execution_time = 60 را در آن وارد نمایید.

روش سوم ویرایش فایل wp-config.php

همچنین شما این امکان را دارید که با استفاده از فایل wp-config.php در راستای حل مشکل Maximum execution time of 30 seconds exceeded گام بردارید. در صورت تمایل به استفاده از این روش باید همانند دو روش قبلی از طریق دایرکتوری public_html فایل مورد نظر را پیدا کرده و با استفاده از گزینه Edit کد زیر را در آن قرار دهید.
set_time_limit(60);

روش چهارم استفاده از افزونه Google Pagespeed Insights

یک راه حل بسیار عالی دیگری که می توانید از آن برای رفع خطای Maximum execution time of 30 seconds exceeded استفاده کنید، افزونه Google Pagespeed Insights است. در صورت تمایل به افزایش حداکثر زمان اجرای php به کمک این افزونه باید مسیر زیر را دنبال کنید:

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

سپس از طریق منو افزونه ها زیر منو افزودن را انتخاب کنید. با استفاده از باکس جستجوی موجود در این صفحه عبارت Google Pagespeed Insights را جستجو کرده و افزونه فوق را نصب و فعال نمایید. سپس از طریق منو ابزارها در پیشخوان زیر منویی که به نام افزونه فوق ایجاد شده است را پیدا کرده و روی آن کلیک کنید و بعد از ورود به صفحه مربوط به تنظیمات این افزونه روی گزینه Advanced Configuration کلیک نمایید و حداکثر زمان اجرای php مورد نظر خود را از طریق بخش Maximum Execution Time تعیین کرده و در نهایت نیز با کلیک روی دکمه Save Options تغییرات اعمال شده را ذخیره کنید.
بدین ترتیب به راحتی خطای حداکثر زمان اجرا بیش از ۳۰ ثانیه را حل کرده و می توانید در بازه زمانی طولانی تری اقدامات مورد نظر خود را داشته باشید.

در این بخش از مطالب سعی کردیم تا شمارا با خطای Maximum execution time of 30 seconds exceeded در وردپرس و نحوه رفع آن آشنا کنیم. این خطا در زمان تلاش برای بروز رسانی قالب یا افزونه در وب سایت وردپرسی نمایش داده می شود و تا زمانی که از طریق هاست خود و با استفاده از راهکارهای ارائه شده اقدام به افزایش php time limit در وردپرس ننمایید، این مشکل پا برجا خواهد بود. هرگاه که به این مشکل برخوردید با راهکارهای فوق به راحتی می توانید پیغام خطارا برطرف کنید.