اگر در حال مطالعه این مطلب هستید به احتمال خیلی زیاد سایت وردپرسی شما دچار مشکل شده است و به دنبال رفع ارور cURL Error 28: Connection Timed Out هستید.
ارور cURL Error 28: Connection Timed Out یک خطای نسبتاً شایع در REST API وردپرس است که بر روی عملکرد سایتتان تاثیر میگذارد. در این مطلب به شما کمک میکنم تا با رفع ارور cURL Error 28: Connection Timed Out در وردپرس مشکل را به طور کامل حل کنید و دیگر نگرانی از این بابت نداشته باشید.
cURL در وردپرس چیست؟
cURL یک ابزار نرم افزاری است که با استفاده از برنامههای تحت وب و یا وردپرس برای ارسال و دریافت Data Requests از URLها استفاده میکند.
وردپرس به کمک cURL درخواستهای API را مدیریت میکند که اکستنشن (به انگلیسی: Extention) آن برای PHP در دسترس است و وظیفه مدیریت آن با سرویس هاستینگ (به انگلیسی: Hosting) شما میباشد. برای اینکه عملکرد وردپرس بدون نقص باشد cURL نقش بسیار مهمی دارد.
دلایل خطا cURL Error 28
در هنگامی که پاسخ از سمت سرور (به انگلیسی: Server) با تاخیر زیاد انجام میگیرد با ارور cURL Error 28: Connection Timed Out مواجه میشوید. همانطور که پیشتر اشاره شد وردپرس از سیستمی با عنوان REST API برای برقراری ارتباط با سرور استفاده میکند، اگر زمان پیشفرضی که برای این درخواست در نظر گرفته شده است تمام شود کاربر با پیام The REST API encountered an error روبرو میشود.
با زدن دکمه فلش در سمت راست ارور میتوانید اطلاعات بیشتری از این خطا بدست آورید.
همچنین در بعضی از مواقع امکان دارد به دلیل تاخیر پاسخ از سمت سرور با ارور Your site could not complete a loopback request نیز مواجه شوید که هر دو این ارورها در واقع مشترک هستند. و به این معنی است که جوابی از سمت سرور دریافت نشده است.
دلایل ارور cURL Error 28: Connection Timed Out
قبل از اینکه بخواهید برای رفع ارور cURL Error 28: Connection Timed Out اقدامی کنید باید دلایل و عواملی که باعث بروز این خطا میشود را بررسی کنید. در ادامه این عوامل را آوردهام:
- در اغلب مواقع افزونههای امنیتی سایت و فایروال (به انگلیسی: Firewall) در زمان سفارش طراحی سایت ممکن است درخواستهای REST API را مشکوک تلقی کند و آنها را مسدود کند.
- در بعضی از مواقع هم ممکن است ایراد از سرور DNS باشد، اگر سرورهای DNS با اختلال روبرو شوند درخواستهای HTML هم به درستی کار نخواهند کرد و باعث ارور cURL Error 28: Connection Timed Out میشوند.
- افزونههای وردپرس را فراموش نکنید، بعضی از افزونهها ممکن است شامل کدها و اسکریپتهایی باشند که درخواستهای cURL را مختل کنند.
- در نهایت هم ممکن است این خطا به دلیل پیکربندی نادرست در سرویس هاستینگتان باشد.
نحوه رفع ارور cURL Error 28: Connection Timed Out
حال که با ارور cURL Error 28: Connection Timed Out آشنا شدید و با عواملی که باعث بوجود آمدنش میشود را میدانید زمان آن رسیده است که برای رفع آن اقدام کنید.
فایروال را غیر فعال کنید
اگر از افزونههای امنیتی یا فایروالها استفاده میکنید آنها را موقتاً غیر فعال کنید.
سپس به بخش سلامت سایت بروید و ببینید خطا رفع شده است یا نه. اگر مشکلتان توسط غیر فعال کردن افزونه امنیتی رفع شد به قسمت لاگهای امنیتی وردپرس بروید و ببینید کدام درخواستهای API مسدود شدهاند.
غیر فعال کردن تمامی افزونهها
افزونهها و پوستههای وردپرس از API برای فرستادن و دریافت اطلاعات استفاده میکنند. اگر تکرار این درخواستها زیاد باشد و زمان زیادی برای انجام آنها سپری شود با ارور cURL Error 28: Connection Timed Out مواجه خواهید شد.
برای اینکه متوجه شوید عامل بروز این خطا افزونههای شماست، باید تمام افزونههای خود را غیر فعال کنید.
سادهترین راه برای غیر فعال کردن تمامی افزونههای وردپرس این است که به صفحه افزونههای نصب شده بروید و تیک افزونهها را بزنید، سپس از منو باز شونده بالای صفحه غیر فعال را انتخاب کنید و بر روی دکمه اجرا کلیک کنید.
بعد از غیر فعال کردن تمامی افزونهها به قسمت سلامت سایت بروید و چک کنید که مشکل برطرف شده است یا خیر، اگر مشکل رفع شده باشد به صفحه افزونههای نصب شده برگردید و یکی یکی افزونهها را فعال کنید تا متوجه شوید ارور cURL Error 28: Connection Timed Out مربوط به اختلال کدام افزونه است. و آن را حذف یا جایگزین کنید.
بررسی تنظیمات DNS
همانطور که پیشتر اشاره شد، یکی از دلایلی که میتواند منجر به ارور cURL Error 28: Connection Timed Out شود تنظیمات مربوط به DNS سایت است. برای بررسی این موضوع میتوانید با ارائه دهنده سرویس هاستینگ سایتتان در ارتباط باشید.
اطمینان از به روز بودن نرم افزارهای هاستینگ
اگر هیچ یک از عوامل بالا برای رفع ارور cURL Error 28: Connection Timed Out کمکتان نکرد، باید نسخههای PHP یا cURL Library و OpenSSL را بررسی کنید تا از بروز بودنشان اطمینان پیدا کنید.
برای این کار میتوانید از داشبورد وردپرس و بخش ابزارها، به صفحه سلامت سایت بروید و برروی تب اطلاعات کلیک کنید.
در تب سرور میتوانید اطلاعاتی که نیاز دارید را مشاهده کنید.
در حالت ایده آل سرور شما باید PHP 7.4.33 یا بالاتر باشد و نگارش cURL هم نسخه ۷.۸۷.۰ یا بالاتر باشد و اگر کمتر بود باید از سرویس هاستینگ خود درخواست کنید تا آنها را افزایش دهند.
بررسی SSL
اگر کمی از سئو سر رشته داشته باشید میدانید که SSL در طراحی سایت فروشگاهی بسیار مهم است. اما اگر تنظیمات آن را درست انجام نداده باشید ممکن است درخواستهای cURL مسدود شوند. حتی در شرایطی که گواهینامه SSL را بر روی سایتتان نصب نکرده باشید اما درخواستهای API از HTTPS استفاده کنند؛ تمامیشان مسدود خواهند شد و با ارور Error: cURL error 7: Failed to connect to localhost port 443: Connection refused (http_request_failed) مواجه میشوید.
برای رفع ارور Error: cURL error 7: Failed to connect to localhost port 443: Connection refused (http_request_failed) میتوانید از سرویس دهنده هاستینگتان بخواهید تا گواهینامه SSL را یک بار دیگر برایتان نصب کند.
درخواست کمک از سرویس دهنده هاستینگتان
اگر تمام مراحل بالا را با دقت انجام دادید اما همچنان موفق به رفع ارور cURL Error 28: Connection Timed Out نشدید به احتمال زیاد مشکل از پیکربندی هاست سایت وردپرسیتان میباشد و وظیفه درست کردن آن بر عهده پشتیبانی هاستینگتان میباشد.
جمع بندی
امیدوارم بعد از خواندن این مطلب توانسته باشید رفع ارور cURL Error 28: Connection Timed Out را انجام داده باشید. تمامی مراحلی که برای رفع این خطا نیاز دارید در این مطلب گفته شد. اگر سوالی برایتان شکل گرفته و یا قسمتی از این مطلب برایتان نامفهوم بود حتماً در بخش دیدگاهها با من در میان بگذارید.
۲ پاسخ
سلام، از کجا میتونم بفهمم که اس اس ال سایتم درست نصب شده است؟
درود،
برای اینکه بتوانید چک کنید که آیا گواهی SSL در سایتتان فعال شده است یا نه میتوانید از سایت sslchecker استفاده کنید.