اگر از سیستم مدیریت محتوای وردپرس استفاده می کنید ممکن است با خطای cURL Error 28: Connection Timed Out مواجه شده باشید که باعث ایجاد اختلال در عملکرد سایت شده و مشکلاتی را به همراه آورده باشد. این خطای زمانی به وجود می آید که سرور در زمان مناسب به cURL پاسخی ندهد. cURL برای ارسال و دریافت درخواست داده ها از طریق URL توسط برنامه های تحت وب مورد استفاده قرار می گیرد و وردپرس هم برای پاسخگویی به درخواست های API از آن استفاده میکند. با پیکربندی نادرست cURL، سایت با مشکل مواجه خواهد شد.
در این آموزش با رفع خطای cURL Error 28: Connection Timed Out همراه ما باشید.
در صورت بروز این خطا، در بخش سلامت سایت پیام های زیر ممکن است مشاهده شود :
Error: cURL error 28: Operation timed out after --- milliseconds with --- bytes received (http_request_failed)
The loopback request to your site failed, this means features relying on them are not currently working as expected.
مراحل زیر برای رفع این خطا باید بررسی شوند :
۱ – غیرفعال کردن موقت firewall
اگر برای سایت از فایروال استفاده می کنید به صورت موقت آن را غیرفعال کنید. زیرا ممکن است جلوی درخواست های API را گرفته باشد. بعضی از این فایروال ها مانند Sucuri و NinjaFirewall و … نیز به عنوان افزونه برای wordpress ارائه می شوند. تنظیمات آنها را نیز حتما بررسی کنید.
۲ – غیرفعال کردن موقت تمامی افزونه ها
در این مرحله تمامی افزونه ها را یکجا غیرفعال کنید و سپس یک به یک مجدد فعال کنید و سایت را بررسی کنید. شاید یک افزونه باعث بروز این خطا شده باشد. برای غیر فعال کردن تمامی افزونه ها می توانید همه آنها را از پیشخوان وردپرس انتخاب کنید و بر روی وضعیت غیرفعال قرار دهید. یا اینکه پوشه plugins را در سی پنل به plugins1 تغییر نام دهید. سپس سایت را بررسی کنید اگر ضمن صحت عملکرد، خطا رفع شد نام پوشه را مجددا به plugins بازگردانید و در ادامه همین تغییر نام را برای تک تک افزونه ها انجام دهید تا افزونه ای که باعث این خطا شده است شناسایی گردد.
۳ – بررسی نسخه PHP و cURL و OpenSSL
وارد پیشخوان وردپرس شوید و از بخش ابزارها (Tools) بر روی سلامت سایت (Site Health) کلیک کنید و به قسمت اطلاعات (info) بروید و ورژن PHP و cURL و OpenSSL را بررسی کنید. اگر از نسخه های قدیمی استفاده شده است، با شرکت هاستینگ برای ارتقای ورژن آنها مشورت بفرمایید.
۴ – بررسی SSL
چنانچه SSL به درستی تنظیم نشده باشد ممکن است با خطا زیر مواجه شوید و در نتیجه درخواست های cURL مسدود شود.
Failed to connect to localhost port 443: Connection refused (http_request_failed)
برای بررسی این موضوع با شرکت هاستینگ مشورت بفرمایید.
۵ – اختلالات اینترنت
در مواردی مشاهده می شود به دلیل وجود اختلالات در اینترنت و بروز مشکل در ارتباط سرویس میزبانی هاست با سورس های مختلف، خطا cURL به وجود بیاید و این مورد عموما در سرویس های داخلی رخ می دهد. بررسی مجدد این موضوع در زمان های دیگر و یا انتقال به سرورهای خارج از کشور ممکن است راهگشا باشد.
امیدواریم این آموزش مورد توجه شما قرار گرفته باشد.