اگر اجرای کدهای PHP بیش از حد طول بکشد، با مشکلی جدی روبهرو میشویم؛ خطایی با نام خطای Maximum Execution Time که معمولاً باعث میشود صاحب سایت نتواند به داشبورد وردپرس دسترسی پیدا کند.
در این مقاله قرار است ببینیم چطور میتوان خطای Maximum Execution Time در وردپرس را برطرف کرد. روشهایی که معرفی میکنیم، هیچکدام پیچیده یا تخصصی نیستند و هر کسی حتی بدون دانش فنی، میتواند آنها را انجام دهد.
البته پیش از ورود به راهکارها، بهتر است کمی با ماهیت این خطا و دلایل بروز آن آشنا شویم.
علت خطای Maximum Execution Time در وردپرس چیست؟
زمانی که اجرای یکی از خطوط PHP بیشتر از محدودیتی باشد که هاستینگ برای آن تعریف کرده، با خطای Maximum Execution Time مواجه میشوید.
شاید بپرسید اصلاً چرا چنین محدودیتی وجود دارد؟ پاسخ ساده است:
چون وردپرس روی زبان PHP ساخته شده و هاستینگها با تعیین این محدودیت در واقع از سرور محافظت میکنند. این محدودیت اجازه نمیدهد یک کد پرمصرف بیش از حد منابع سرور را درگیر کرده و عملکرد سایت را مختل کند.
اغلب شرکتهای هاستینگ این محدودیت را روی بازهای بین ۳۰ تا ۶۰ ثانیه تنظیم میکنند. اگر اجرای کدهای یک افزونه، قالب یا حتی آپدیتهای اصلی وردپرس بیشتر از این زمان طول بکشد، PHP اجرا را متوقف کرده و شما با این خطای نسبتاً نگرانکننده روبهرو میشوید.
حالا برویم سراغ اصل ماجرا و ببینیم چطور میتوان خطای Maximum Execution Time در وردپرس را رفع کرد.
نحوه رفع خطای Maximum Execution Time در وردپرس
۸ راهکار برای برطرف کردن این مشکل وجود دارند که در این قسمت همۀ آنها را بررسی خواهیم کرد.
روش اول: استفاده از حالت ریکاوری وردپرس
تجربه نشان داده اگر عامل بروز این خطا یک افزونه باشد، بهترین و سادهترین راه این است که ابتدا سراغ حالت ریکاوری وردپرس بروید.
این قابلیت از نسخه ۵.۲ وردپرس معرفی شد و کمک میکند حتی زمانی که سایت با خطای Maximum Execution Time مواجه است، همچنان به پیشخوان دسترسی داشته باشید.
گاهی اوقات، وقتی چنین مشکلی رخ میدهد، وردپرس یک پیام خطا با این مضمون نمایش میدهد:
در چنین شرایطی، یک ایمیل حاوی لینک ورود به حالت ریکاوری برای مدیر سایت ارسال میشود که معمولاً در متن ایمیل به افزونه مشکلساز هم اشاره شده است.
کافی است روی لینک اختصاصی کلیک کنید، وارد حالت ریکاوری شوید و افزونه موردنظر را غیرفعال یا حذف کنید. به همین راحتی میتوانید مشکل را برطرف کرده و سایت را دوباره به حالت عادی برگردانید.
روش دوم: ویرایش فایل htaccess.
قبلاً در مقالۀ «htaccess چیست و چه کاربردهایی دارد؟» گفتیم که این فایل برای پیکربندی سایتهای وردپرسی استفاده میشود. به همین دلیل، یکی از روشهای رفع خطای Maximum Execution Time و دسترسی دوباره به سایت، ویرایش همین فایل است.
اگر این خطا باعث شده دیگر به پیشخوان وردپرس دسترسی نداشته باشید و حالت ریکاوری هم در دسترس نباشد، این روش میتواند بهترین گزینه برای شما باشد.
برای انجام این کار:
- از طریق یک کلاینت FTP مثل FileZilla یا بخش File Manager در کنترلپنل هاست، وارد روت سرور شوید.
- فایل .htaccess را پیدا کنید، روی آن راستکلیک کرده و View/Edit را بزنید.
- بعد از باز شدن فایل، این کد را در انتهای خطوط آن اضافه کنید:
php_value max_execution_time 300
با این تغییر، محدودیت زمانی اجرای کدهای PHP به ۳۰۰ ثانیه افزایش پیدا میکند؛ مقداری که معمولاً برای اجرای هر اسکریپتی کافی است.
در نهایت فایل را ذخیره کرده و نسخه جدید را دوباره در همان مسیر روی سرور آپلود کنید.
اگر بعد از تغییرات با خطای جدیدی مثل Internal Server Error 500 مواجه شدید، نگران نباشید. کافی است خطی که اضافه کردهاید را حذف کرده و فایل .htaccess را مثل حالت اولیه دوباره روی سرور قرار دهید.
نکتۀ مهم: این متد همیشه کارساز نیست و شاید برای سرویسهای برخی هاستینگها جوابگو نباشد!
⭐ محتوای مرتبط: حالت دیباگ وردپرس چیست؟ (+ نحوه فعالسازی آن) |
روش سوم: تغییر تنظیمات در فایل php.ini
اگر به هر دلیلی نتوانستید فایل .htaccess را ویرایش کنید، راهکار بعدی استفاده از فایل php.ini است. این فایل مخصوص پیکربندی PHP بوده و برای دسترسی به آن،راحتترین راه این است که وارد کنترلپنل هاست (cPanel یا DirectAdmin) شوید و از ابزارهایی مثل MultiPHP INI Editor یا PHP Configuration استفاده کنید.
اگر این ابزارها را پیدا نکردید، نگران نباشید. کافی است در روت وردپرس یک فایل جدید با نام php.ini بسازید، سپس روی آن راستکلیک کرده و View/Edit را بزنید.
بعد هم کد زیر را داخل فایل قرار دهید:
max_execution_time = 300
با این کار، محدودیت زمانی اجرای کدهای PHP به ۳۰۰ ثانیه افزایش پیدا میکند. فایل را ذخیره کنید و سپس دوباره وارد سایت شوید تا مطمئن شوید مشکل برطرف شده است.
روش چهارم: ویرایش فایل wp-config.php
کاربران حرفهای وردپرس معمولاً برای رفع خطای Maximum Execution Time سراغ ویرایش فایل wp-config.php میروند.
این روش به جای تغییر کل تنظیمات سرور، تنها تنظیمات مربوط به وردپرس را تغییر میدهد. به این ترتیب، محدودیت زمانی اجرای کد فقط برای وردپرس افزایش پیدا میکند و سایر بخشهای سرور دستنخورده باقی میمانند.
برای انجام این کار:
- با استفاده از یک کلاینت FTP یا از طریق File Manager هاست وارد روت وردپرس شوید.
- فایل wp-config.php را پیدا کرده و باز کنید.
- خط زیر را درست قبل از عبارت
/* That’s all, stop editing! Happy publishing. */
اضافه کنید:
set_time_limit(300);
فایل را ذخیره کنید و سپس سایت را تست کنید تا مطمئن شوید خطا برطرف شده است.
⭐ محتوای مرتبط: آموزش پیکربندی و تنظیمات فایل wp-config.php در وردپرس |
روش پنجم: بهینهسازی دیتابیس وردپرس
تا اینجا راهکارهایی را مرور کردیم که یا خطا را بهطور کامل برطرف میکردند، یا با افزایش محدودیت زمانی اجرای PHP عملاً مشکل را موقتاً پوشش میدادند.
اما گاهی ریشه اصلی ماجرا جای دیگری است: یک دیتابیس شلوغ و نامنظم!
چنین شرایطی باعث میشود اجرای اسکریپتهای PHP زمان بیشتری ببرد و حتی روی عملکرد کلی سایت هم تأثیر منفی بگذارد. این مشکل بیشتر در سایتهای قدیمی دیده میشود؛ مخصوصاً آنهایی که پر از محتواهای کهنه و دادههای بهجامانده از افزونههای فراموششده هستند.
به همین دلیل متخصصان توصیه میکنند هر چند وقت یکبار دیتابیس وردپرس را مرتب کنید و دادههای اضافی را حذف کنید. این کار نهتنها میتواند خطای Maximum Execution Time را برطرف کند، بلکه سرعت کلی سایت را هم به شکل محسوسی افزایش میدهد.
در مقاله «آموزش جامع بهینهسازی دیتابیس وردپرس» نحوه انجام این کار را کامل توضیح دادهایم.
روش ششم: بررسی و مدیریت افزونههای وردپرس
بر اساس تجربه ما، شایعترین دلیل بروز خطای Maximum Execution Time در وردپرس، افزونههایی هستند که کدنویسی ضعیفی دارند و منابع زیادی از سرور را درگیر میکنند.
درست است که افزونهها با کاربردهای متنوعشان یکی از مهمترین دلایل محبوبیت وردپرس محسوب میشوند، اما نباید فراموش کنیم که بعضی از آنها میتوانند دردسرساز باشند.
برای اینکه مطمئن شوید مشکل از یک افزونه است یا نه، کافی است همه افزونهها را بهطور موقت غیرفعال کنید. اگر بعد از این کار خطا برطرف شد، یعنی مقصر یکی از افزونههای سایت شماست.
حالا برای پیدا کردن افزونه مشکلساز، آنها را یکییکی دوباره فعال کنید تا مشخص شود کدام افزونه عامل اصلی خطا بوده است.
⭐ محتوای مرتبط: آموزش نحوه رفع خطای cURL28 یا Connection Timed Out |
روش هفتم: ارتقای پلن هاست
در نهایت، بد نیست به این نکته توجه کنید که ریشه خطای Maximum Execution Time همیشه به تنظیمات نرمافزاری برنمیگردد. در بسیاری از مواقع، مشکل اصلی از خود سرویس میزبانی است. اگر هاست شما محدودیتهای زیادی داشته باشد یا پیکربندی آن بهخوبی انجام نشده باشد، چنین خطاهایی اجتنابناپذیر خواهند بود.
در این شرایط، ارتقای پلن هاست یا انتخاب یک سرویس حرفهایتر میتواند مشکل را بهطور کامل برطرف کند.
پیشنهاد میکنیم سری به صفحۀ هاست وردپرس بزنید و سرویسهای حرفهای لیموهاست که برای میزبانی از سایتهای وردپرسی بهینه شدهاند را ببینید؛ این سرویسها خیالتان را راحت میکنند که قرار نیست بهخاطر پیکربندی بد و کیفیت پایین اسیر مشکلات اینچنینی بشوید.
شروع قیمت از
۲۹۰ هزار تومان
روش هشتم: گرفتن کمک از پشتیبانی وردپرس
اگر هیچکدام از روشهای بالا کارساز نبودند، تنها راهکار رفع خطای Maximum Execution Time که برایتان باقی میماند، تماس با تیم پشتیبانی هاستینگی است که از آن سرویس میگیرید.
متخصصانی که مسئول پاسخگویی به مشتریان هاستینگها هستند، تجربۀ بالایی در مقابله با مشکلات اینچنینی دارند و علاوهبر این، میتوانند لاگهای سمت سرور (که شما به آنها دسترسی ندارید) را بررسی کنند. در خیلی از مواقع، اصل مشکل در همین لاگها ثبت شده است.
کاربرانی که این سرویس را از لیموهاست تهیه میکنند، به کمک کارشناسان و متخصصانی دسترسی خواهند داشت که شناخت کاملی از این CMS و مشکلاتش دارند؛ در نتیجه، مشکل این افراد خیلی سریعتر و راحتتر برطرف خواهد شد.
این هم از ۸ روشی که قول بررسی آنها را داده بودیم؛ برویم برای جمعبندی مقاله، با گوشزد کردن یک نکتۀ کلیدی!
🧩 پیشنهاد میکنیم به دستهبندی رفع ارورهای وردپرس سر بزنید و سایر خطاهای وردپرس و نحوه رفع آنها را هم یاد بگیرید. |
قبل از بروز مشکل فکر چاره کنید
همانطور که دیدید، رفع خطای Maximum Execution Time کار سختی نیست و با یک سری راهکار ساده میتوان این مشکل را برطرف کرد؛ منتهی یک ادمین حرفهای، قبل از اینکه با چنین خطایی مواجه شود، سعی میکند تمام عواملی که موجب بروز این ارور میشوند را برطرف کند! مثلاً با پاکسازی دیتابیس که گفتیم برای بهبود عملکرد سایت هم مفید است.
امیدواریم اطلاعات این مقاله برایتان مفید بوده باشد و بتوانید با بهکارگیری این روشها، مجدداً به داشبورد وردپرس سایت خود دسترسی پیدا کنید.
اگر در حین انجام هرکدام از این راهکارها به مشکلی برخوردید، همین زیر برایتان کامنت بگذارید تا کمکتان کنیم کار را به سرانجام برسانید.
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید