رفع خطای Maximum execution time exceeded در وردپرس
اگر خطای Fatal error: Maximum execution time of 30 seconds exceeded را هنگام بروزرسانی یک افزونه یا قالب وردپرس مشاهده کردید، اصلاً نگران نباشید. این خطا معمولاً زمانی نشان داده می شود که اجرای یک کد PHP در وردپرس مدت زمان زیادی طول می کشد و به حداکثر زمان تعیین شده توسط سرور هاستینگ وردپرس شما می رسد.
لیستی از خطاهای رایج وردپرس را می توانید در مقاله خطاهای رایج وردپرس مشاهده کنید.
حل خطاهای وردپرس، به خصوص برای کاربران جدید دشوار به نظر می رسد اما در واقعیت چنین نیست. بیشتر خطاهای وردپرس به سرعت و به راحتی قابل حل هستند. خطای Maximum execution time of 30 seconds exceeded بسیار معمول است. این خطا ممکن است حین انجام کار ساده ای مانند به روزرسانی وردپرس، قالب یا افزونه ها نشان داده شود. هنگام نمایش خطا با پیامی مشابه شکل زیر روبرو می شود:
در این آموزش به شما نشان می دهیم که چگونه این خطا را برطرف کنید.
علت بروز خطای محدودیت زمان اجرا
وردپرس به زبان برنامه نویسی PHP نوشته شده است. حداکثر زمان اجرا (max_execution_time) محدودیت زمانی برای اجرای اسکریپت PHP است. این روشی است که ارائه دهندگان خدمات هاستینگ از آن استفاده می کنند تا سوءاستفاده های احتمالی از منابع سرور را بخصوص در هاست اشتراکی محدود کنند. پس اعمال محدودیت زمانی برای اجرای یک اسکریپت PHP، برای محافظت از وب سرورها در برابر سوءاستفاده های احتمالی تعیین شده است.
محدودیت زمانی اعمال شده در شرکتهای هاستینگ مختلف، متفاوت است. اما در بیشتر مواقع حداکثر زمان اجرا بین 30 تا 60 ثانیه تنظیم می شود زیرا این زمان معمولاً برای اجرای یک اسکریپت PHP خوب کافی است.
هنگامی که یک اسکریپت به حداکثر زمان اجرای خود می رسد، منجر به خطای Maximum execution time exceeded می شود.
حال که علت بروز خطا را توضیح دادیم به بررسی نحوه رفع آن می پردازیم.
رفع خطای Maximum execution time exceeded در وردپرس
توجه داشته باشید که برای رفع این خطا لازم است فایل های بومی وردپرس را ویرایش کنید بنابراین قبل از انجام هر اقدامی از وب سایت خود پشتیبان تهیه کنید. برای این کار می توانید از بهترین افزونه های پشتیبان گیر وردپرس استفاده کنید.
اگرچه خطای Maximum execution time exceeded “خطای fatal” نامگذاری شده است؛ اما یکی از رایج ترین خطاهای وردپرس بوده و شما به راحتی می توانید این مشکل را برطرف کنید.
این خطا بخشی از ویژگی محافظت از خطای fatal است که در وردپرس 5.2 اضافه شده است. همزمان با رخ داده این خطا ممکن است ایمیلی دریافت کنید که به شما بگوید کدام پلاگین (اگر افزونه ای باعث خطا شده باشد) باعث بروز این مشکل شده است. این ایمیل دارای لینک مخصوصی است که به شما امکان می دهد در مد بازیابی (Recovery) وارد وردپرس شوید.
پس از ورود به وردپرس می توانید افزونه ایجاد کننده خطا را غیرفعال یا حذف کنید. اما اگر نمی خواهید افزونه را غیرفعال کنید می توانید علت اصلی ایجاد کننده خطا را برطرف کنید. در این آموزش به دو روش به شما نشان خواهیم داد که چگونه این خطا را برطرف کنید.
رفع خطا با استفاده از کنترل پنل cpanel
اگر کنترل پنل هاست شما cPanel است و اقدام به نصب وردپرس روی هاست cPanel کرده اید، به ترتیب زیر عمل کنید.
ابتدا باید با نام کاربری و پسوردی که از هاستینگ خود دریافت کرده اید، وارد کنترل پنل cPanel شوید. به بخش Software بروید و روی MultiPHP INI Editor کلیک کنید.
در پنجره کشویی، دامنه خود را از فهرست کشویی انتخاب کنید ، دستورالعمل max_execution_time را بیابید و مقدار مربوط به آن را به 300 تغییر دهید.
روی دکمه Apply در پایین صفحه کلیک کنید.
رفع خطای Maximum execution time exceeded با ویرایش فایل php.ini در cPanel
روش دیگری برای تغییر مقدار max_execution_time در cPanel وجود دارد. اگر قبلاً وارد سیستم شده اید ، به بخش Software بروید و بر روی MultiPHP INI Editor کلیک کنید.
در پنجره جدید، تب Editor Mode را در بالا پیدا کرده و انتخاب کنید. سپس دامنه خود را از لیست کشویی زیر آن انتخاب کنید. در قسمت زیر آن، کد زیر را وارد کنید:
max_execution_time = 300;
اگر این قسمت از قبل حاوی کدی برای max_execution_time است ، مقدار آن را با 300 جایگزین کنید.
روی دکمه ذخیره کلیک کنید.
رفع خطا با ویرایش فایل htaccess. از طریق FTP
به همین راحتی می توانید از طریق FTP مقدار max_execution_time را افزایش داده و اقدام به رفع خطای Maximum execution time exceeded در وردپرس کنید . با استفاده از یوزرنیم و پسورد FTP به سرور خود متصل شوید و به دایرکتوری root سایت وردپرس (که معمولاً public_html نامیده می شود) بروید.
برای آشنایی با نحوه انجام این کار، مقاله استفاده از FTP در وردپرس را مطالعه کنید.
حال باید فایل htaccess. را پیدا کرده و آن را به صورت دستی ویرایش کنید و یک خط کد ساده به آن اضافه کنید.
برای کسب اطلاعات بیشتر مقاله تنظیمات فایل htaccess. در وردپرس را مطالعه کنید.
اگر این فایل را نمی بینید، احتمالاً پنهان است؛ بنابراین باید نمایش فایل های پنهان را در سرویس گیرنده FTP خود فعال کنید. به عنوان مثال در FileZilla ، گزینه Force نشان دادن پرونده های پنهان نامیده می شود و می توانید آن را در زیر سرور پیدا کنید.
هنگامی که فایل htaccess. را پیدا کردید، کلیک راست کرده و گزینه “View / Edit” را باز کنید. این فایل در یک ویرایشگر متن باز می شود.
سپس، خط زیر را در پایین فایل htaccess. خود اضافه کنید:
php_value max_execution_time 300
به عنوان مثال اگر از Notepad استفاده می کنید، شکلی مشابه زیر خواهید داشت.
پس از اتمام کار فایل را ذخیره کنید. برای ویرایش فایل قدیمی، فایل ویرایش شده را در سرور خود آپلود کنید.
این کد مقدار حداکثر زمان اجرا را روی 300 ثانیه (5 دقیقه) تنظیم می کند. اکنون می توانید به وب سایت خود مراجعه کنید تا ببینید آیا خطا برطرف شده است یا خیر.
اگر هنوز خطا را مشاهده می کنید، مقدار را به 600 برسانید.
اگر قادر به ویرایش فایل htaccess. نیستید، به احتمال زیاد نیاز به تنظیم مجوزهای فایل دارید. برای آشنایی با مفهوم مجوزهای دسترسی و نحوه تنظیم آنها مقاله آموزش تعیین سطح دسترسی فایل ها و فولدرها در وردپرس را مطالعه کنید.
با وارد کردن شماره 644 می توانید مجوزها را برای فایل htaccess. به صورت خواندن و نوشتن تنظیم کنید. این کار را با پیدا کردن فایل htaccess. ، کلیک راست روی آن و انتخاب گزینه File permissions do انجام می دهید. قسمت مقدار عددی را پیدا کنید، شماره 644 را تایپ کنید و سپس OK را فشار دهید.
حالا به ویرایش فایل htaccess. برگردید. زمان اجرا را دقیقاً همانطور که در بالا توضیح داده شد، با افزودن کد php_value max_execution_time 300 تغییر دهید. تغییرات را ذخیره کرده و فایل ویرایش شده را در سرور خود بارگذاری کنید تا فایل قدیمی را بازنویسی کنید.
ویرایش فایل wp-config.php از طریق FTP
همچنین می توانید با ویرایش فایل wp-config.php مقدار max_execution_time را افزایش دهید و خطای Maximum execution time exceeded را رفع کنید.
از طریق FTP به سرور خود متصل شوید و به دایرکتوری root وردپرس بروید (که معمولاً public_html نامیده می شود). فایل wp-config.php را پیدا کنید، روی آن راست کلیک کرده و از فهرست کشویی View / Edit را انتخاب کنید.
فایل را با استفاده از ویرایشگر متن باز کنید و خط /* That’s all, stop editing! Happy blogging. */ را پیدا کنید. بلافاصله بالای آن کد زیر را وارد کنید:
set_time_limit(300);
اگر قادر به ویرایش فایل wp-config.php نیستید، به احتمال زیاد نیاز به تنظیم مجوزهای فایل دارید. مجوزهای پیش فرض معمولاً روی 440 یا 400 تنظیم می شوند. این مجوزها فقط اجازه خواندن را می دهند. بنابراین باید موقتاً آنها را روی 644 یا 666 تنظیم کنید تا بتوانید بنویسید. با کلیک راست روی فایل wp-config.php و انتخاب گزینه File permissions ions می توانید امتیازات را تغییر دهید.
سپس فایل wp-config.php را همانطور که در بالا توضیح داده شد، ویرایش کنید. پس از پایان کار، فایل را ذخیره کرده و در سرور خود بارگذاری کنید تا فایل قدیمی را بازنویسی کند. پس از آن (و هنگامی که بررسی کردید خطا از بین رفته است)، مجوز فایل wp-config.php را به 440 یا 400 تغییر دهید.
در بیشتر موارد، افزایش حداکثر زمان اجرا با استفاده از هر یک از روش های فوق خطا را برطرف می کند. اما اگر خطا رفع نشود، بهتر است با ارائه دهنده هاستینگ وردپرس خود تماس بگیرید.
جمع بندی
خطای Maximum execution time exceeded یک خطای رایج وردپرس است که در اثر محدودیت هایی که شرکت های هاستینگ وب روی مدت زمان اجرای اسکریپت های PHP اعمال می کنند، به وجود می آید. شما می توانید از هریک از روش های موجود در این مقاله برای رفع این خطا استفاده کنید.
دیدگاه ها