رفع خطای max_execution_time
در صورتیکه خیلی با وردپرس سروکار دارید با خطای max_execution_time برخوردهاید. در این آموزش روش رفع خطای max_execution_time را به شما نشان خواهیم داد.
خطای max_execution_time خیلی رخ نمیدهد اما زمانیکه این خطای بحرانی برای وردپرس شما رخ داد چند راهحل سریع برای برطرف کردن خطای max_execution_time وجود دارد.
خطای max_execution_time چیست؟
خطای max_execution_time در بخش پیشخوان مدیریت وردپرس یا در هنگام مرور وبسایت رخ میدهد. معمولا عبارت خطا به صورت زیر است:
"Fatal Error: Maximum execution time of 30 seconds exceeded"
مقدار 30 ثانیه نیز میتواند هر عددی باشد. معمولا این عدد بین 30 تا 60 ثانیه در تغییر است. این خطا زمانی رخ میدهد که قصد نصب یا بهروزرسانی افزونه، پوسته یا خود وردپرس را دارید.
چرا خطای max_execution_time اتفاق میافتد؟
هر سایت وردپرس محدودیتی برای حداکثر زمان اجرا به جهت پردازش درخواست سرور دارد. تا از این طریق از منابع سرور بیش از اندازه استفاده نشود. این محدودیت تعیین شده بر اجرای تمام اسکریپتهای PHP بر روی وبسایت شما نظارت میکند تا از این محدوده مجاز گذر نکنند.
یک خطای مهم در وبسایت شما وجود داشت. لطفا صندوق ایمیل مدیر سایت را برای دستورالعمل بررسی نمایید.
به این دلیل که وردپرس از زبان برنامهنویسی PHP استفاده میکند بنابرانی لازم است که بر روی اجرای اسکریپتهای PHP در وبسایت نظارت شود تا بیش از اندازه از منابع سرور استفاده نکنند.
جدای از این، ممکن است برخی از افزونهها، پوستهها و دیگر عناصر وردپرس میتوانند منابع سرور را ببلعند. معمولا خطای max_execution_time توسط افزونه به وجود میآید. به این مساله هم دقت داشته باشید که افزونهها از طریق توسعهدهندگان مختلفی ارایه و منتشر میشوند بنابراین بررسی کد افزونهها در هر بهروزرسانی نیز کاری غیرممکن است.
استاندارد حداکثر زمان اجرا برای max_execution_time چقدر است؟
اغلب شرکتهای میزبانی وب مقدار پیشفرضی برای max_execution_time در نظر میگیرند که رقمی بین 30 تا 60 ثانیه است. این مدت زمان به اسکریپتهای PHP فرصت کافی برای تکمیل کارشان میدهد.
مقدار 30 ثانیه برای max_execution_time به خوبی برای اسکریپتهای با کیفیت PHP کار میکند. گاهی لازم است که این مقدار را به 60 ثانیه نیز افزایش دهید؛ که بستگی به کد شما و پاسخ سرور دارد. برخی توسعهدهندگان این مقدار را به 300 ثانیه افزایش میدهند اما مقداری بیش از این عدد کار عاقلانهای به شمار نمیرود.
چگونه متوجه خطای max_execution_time شوم؟
اصلیترین روش برای اینکه متوجه خطای max_execution_time در وردپرس خود شویم این است که به دنبال این عبارت روی پیشخوان وردپرس خود پس از بارگذاری افزونه، پوسته یا بهروزرسانی وردپرس شویم.
معمولا بعد از این اتفاق و گذر از محدودیت تعیین شده توسط سرور، وبسایت با خطای مهلک مواجه شده و پیامی به ایمیل شما از طریق وردپرس ارسال خواهد شد.
حل خطای max_execution_time در وردپرس
پس از دانستن اینکه max_execution_time چیست، باید بدانید که روشهای مختلفی برای حل خطای max_execution_time در وردپرس وجود دارد.
- شناسایی و حذف افزونه، پوسته یا دیگر اسکریپتهایی که باعث این خطا شدهاند. در صورتی که به پیشخوان مدیریت وردپرس خود دسترسی ندارید میتوانید از طریق مدیر فایل پنل هاست خود اینکار را انجام دهید.
- مقدار max_execution_time را با کمک افزونه از روی پیشخوان مدیریت وردپرس افزایش دهید.
- مقدار max_execution_time را در فایل htaccess افزایش دهید.
- مقدار max_execution_time را در فایل php.ini تغییر دهید.
- از پشتیبان هاست خود بخواهید که مقدار max_execution_time را افزایش دهد.
حذف افزونه مشکلساز
این راهحل خطای max_execution_time را از بین میبرد اما مسلما باعث افزایش حداکثر زمان اجرا نخواهد شد. اگر مقدار max_execution_time را افزایش دادهاید و فضای کافی برای اجرای اسکریپت افزونه یا پوسته ایجاد کردهاید به بخش بعدی بروید.
برای حذف افزونه مشکلساز به صورت زیر عمل کنید:
- حذف جدیدترین افزونه نصب شده و مخصوصا افزونه یا پوستهای که با نصب آن این خطا ایجاد شده است.
- جعبه ایمیل خود را باز کنید و بررسی کنید که وردپرس در خصوص خطای بحرانی ایمیلی ارسال کرده است یا خیر. گاهی اوقات این ایمیل حاوی اطلاعاتی درباره افزونه مسبب این مساله در وردپرس شماست.
- در صورتیکه هیچ ایدهای از بابت منشا علت خطا ندارید پیشنهاد میشود که تمامی افزونههای فعال روی وردپرس خود را غیرفعال کنید و سپس آنها را یک به یک فعال کنید و سپس وضعیت بروز خطا را بررسی کنید.
چگونه max_execution_time را در وردپرس افزایش دهیم (با استفاده از افزونه)
روشی آسان برای افزایش حداکثر زمان اجرا برای اسکریپتهای PHP استفاده از افزونه بر روی وردپرس است، به کمک این روش دیگر نیازی به تغییر بر روی وردپرس ندارید.
برخی از افزونههای امنیتی و بهینهسازی، تنظیمی برای تغییر این مقدار دارند از جمله افزونه Google Pagespeed Insights. افزونه دیگر برای اینکار WP Maximum Execution Time Exceeded است. این افزونه از این جهت توصیه میشود که مقدار تعیین شده در فایل htaccess را بازنویسی میکند.
با فعال کردن این افزونه به صورت پیشفرض مقدار 300 ثانیه تاخیر برای max_execution_time در نظر گرفته میشود.
برای حذف محدودیت جدید ایجاد شده نیز تنها بایستی افزونه نصب شده را غیرفعال و حذف کنید.
افزایش حداکثر زمان اجرا در wp-config.php
روشهای دیگر نیاز به دسترسی از طریق مدیر فایل کنترل پنل هاست دارد. یکی از روشهای دیگر برای افزایش مقدار max_execution_time تغییر در فایل wp-config.php است.
به محل نصب وردپرس خود مراجعه کنید و فایل wp-config.php که در ریشه وردپرس شما قرار دارد را برای ویرایش محتوا باز کنید و مقدار زیر را در انتهای فایل قرار دهید.
set_time_limit(300);
پس از اینکار، فایل را ذخیره کرده و مقدار جدید برای max_execution_time بایستی مساله ایجاد شده برای شما را برطرف کند.
افزایش حداکثر زمان اجرا در htaccess
برای ویرایش htaccess بایستی به ریشه وبسایت خود رفته و فایل مربوطه را در ویرایشگر باز کنید و مقدار زیر را در فایل اضافه کنید و تنظیمات خود را ذخیره و صفحه را ببندید.
php_value max_execution_time 300
به پیشخوان مدیریت و محلی که خطای max_execution_time را مشاهده کردید مراجعه کنید، خواهید دید که مساله برطرف شده است.
افزایش حداکثر زمان اجرا در php.ini
احتمال یافتن فایل php.ini در ریشه هاست شما بسیار اندک است اما هنوز هم در بعضی از هاستها به این فایل دسترسی دارید. همچنین بر روی پیشخوان پنل هاست خود میتوانید به دنبال تنظیمی با عنوان php.ini editor باشید.
در صورتیکه فایل php.ini در ریشه هاست شما وجود دارد مقدار زیر را به فایل اضافه کنید:
max_execution_time = 300
همچنین در صورتیکه به php.ini editor دسترسی دارید به دنبال گزینه max_execution_time باشید و مقدار آن را به صورتیکه تمایل دارید تغییر دهید. پس از اینکار خطای max_execution_time برطرف خواهد شد و مشکلی از این بابت متوجه وبسایت شما نخواهد بود.
5 / 5. 2
دیدگاهتان را بنویسید