مشاوره رایگان دریافت کنید !
ما هم اکنون آماده پاسخگویی هستیم!
برای مشاوره رایگان فرم زیر را پر کنید تا مشاوران ما با شما در ارتباط باشند.
siteQ
طراحی سایت ، سئو ، تولید محتوا ، گرافیک ، سوشال مدیا و...
برای مشاوره رایگان فرم زیر را پر کنید تا مشاوران ما با شما در ارتباط باشند.
طراحی سایت ، سئو ، تولید محتوا ، گرافیک ، سوشال مدیا و...
اگر یک وردپرس کار هستید و روزانه زمان زیادی از وقت خود را در محیط وردپرس میگذرانید. ممکن است با ارور cURL Error 28: Connection Timed Out روبهرو شده باشید. این خطا یکی از مشکلات رایج در وردپرس است. ممکن است باعث ایجاد اختلال و ایرادهای پیشبینی نشده در سایت شما شود. ما در این مقاله به روشهای رفع این مشکل میپردازیم.
cURL نرمافزاری است که در وردپرس و بسیاری از برنامههای وب دیگرمورد استفاده قرار میگیرد. این نرمافزار برای ارسال و دریافت درخواست دادهها از طریق URL کاربرد دارد. در واقع وردپرس برای پاسخگویی به درخواستهای API از این نرمافزار استفاده میکند. این یک extention برای زبان برنامهنویسی PHP است و هاست مورد نظر شما وظیفه محافظت و پشتیبانی از آن را دارد. اگر شما پیکربندی cURL را به درستی انجام ندهید، وب سایت وردپرسی شما با مشکل روبهرو میشود و ممکن است به درستی کار نکند.
شاید به دنبال دلیل وقوع این ارور باشید. لازم است بگوییم این اتفاق زمانی رخ میدهد که سرور شما به موقع و در مدت زمان درست به درخواستها پاسخ نمیدهد. وردپرس از یک روش برنامهنویسی بهنام REST API برای ارسال و دریافت درخواست دادهها استفاده میکند. اگر زمان پاسخگویی به این درخواستها تمام شود؛ شما در بخش سلامت سایت خود با عنوان REST API Encountered in Error روبهرو خواهید شد. زمانی که این خطا گسترش پیدا کند این پیام به شما نشان داده میشود:
Error: cURL error 28: Operation timed out after x milliseconds with x bytes received (http_request_failed)
در این شرایط شما ممکن است با یک خطای دیگر نیز روبهرو شوید که به شما میگوید: سایت شما به درخواست برگشت پاسخگو نیست یا قادر به تکمیل فرایند نیست. در چنین شرایطی احتمالا خطای مشابه به این خطا مشاهده خواهید کرد:
The loopback request to your site failed, this means features relying on them are not currently working as expected.
بخشی از عواملی که باعث از بین رفتن cURL وردپرس میشوند:
برای رفع این مشکل چند راه و روش برای شما وجود دارد که در صورت لزوم میتوانید از آنها استفاده کنید:
در مرحله اول اگر در وردپرس از یک firewall یا افزونه امنیتی استفاده میکنید، بهتر است برای مدتی آن را غیرفعال کنید و پس از آن به صفحه سلامت سایت خود بروید و بررسی کنید که مشکل حل شده است یا نه. اگر مشکل حل شده است باید ورودهای مربود به firewall وردپرس خود را بررسی کنید و حساب مسدود شده را بیابید. شما با انجام این کار منبع مسئله و مشکل را پیدا کردهاید و با توجه به آن میتوانید تنظیمات firewall را انجام دهید تا از مسدود شدن API های قانونی جلوگیری شود.
دومین روش این است که هر افزونهای که روی وردپرس فعال دارید را غیرفعال کنید. زیرا این افزونهها نیز درخواستهای خود را ارسال میکنند و گاهی ممکن است به دلیل ارسال درخواستهای زیاد و پشتسر هم، شما خطای cURL مشاهده کنید. سادهترین راه برای پی بردن به این موضوع این است که به قسمت افزونههای نصب شده بروید و همه افزونهها را انتخاب و غیر فعال کنید. حالا به قسمت سلامت سایت خود مراجعه کنید و اگر سایت را بدون هیچ مشکلی مشاهده کردید، متوجه خواهید شد که مشکل از افزونهها بوده است. یکی یکی آنها را فعال کنید تا مشکل دوباره ایجاد شود و افزونهای که باعث بروز مشکل شده است را بیابید. سپس میتوانید درمورد افزونهای که باعث ایجاد این مشکل شده است، تحقیق کنید و مشکل بهوجود آمده را رفع کنید.
گام بعدی این است که مطمئن شوید سرور سایت شما از آخرین نسخه PHP و cURL و OpenSSL استفاده میکند. برای پی بردن به این موضوع از منوی وردپرس، از بخش ابزارها روی گزینه سلامت سایت کلیک کنید. وقتی وارد صفحه سلامت سایت خود شدید، به قسمت اطلاعات بروید. سپس روی گزینه سرور کلیک کنید. حالا از این قسمت به راحتی میتوانید متوجه شوید که سرور شما از چه نسخهی PHP و cURL و OpenSSL استفاده میکند. اگر متوجه شدید که سرور سایت شما از نسخههای جدید و بهروزرسانی شده استفاده نمیکند. باید با شرکت هاستینگ خود تماس بگیرید و از آنها بخواهید که این نسخهها را برای شما افزایش دهند.
اگر برای سایت خود گواهینامه SSL تهیه کرده باشید و بهدرستی پیکربندی نکرده باشید. باعث میشود که وب سرور شما درخواستهای ناامن cURL را مسدود کند. به همین دلیل شما باید از پیکربندی صحیح گواهینامه SSL خود اطمینان حاصل کنید. حتی اگر سایت شما دارای گواهینامه SSL هم نباشد ممکن است که با خطای زیر مواجه خواهید شد.
‘Error: cURL error 7: Failed to connect to localhost port 443: Connection refused (http_request_failed)
برای رفع این مشکل نیز میتوانید به شرکت هاستینگ خود تیکت بزنید. درخواست کنید تا گواهینامه SSL را روی سایت شما نصب کنند. اگر پس از نصب SSL همچنان این خطا رفع نشده بود. به هاستینگ خود تیکت بزنید و خواستار پیگیری دلیل این خطا شوید.
اگر سایت شما پس از طی کردن مراحل بالا همچنان خطای cURL 28 را میدهد. به احتمال زیاد مشکل از سمت ارائه دهنده هاستینگ شما است. در واقع فاکتورهای بسیار زیاد و مهمی وجود دارد که فقط در اختیار میزبان وب(شرکتی که از آن هاست تهیه کردهاید) قرار دارد و شما نمیتوانید آنها را کنترل و رفع کنید. برای مثال اگر سرورهای سایت شما نتواند درخواستهای ارسال شده را حل کند سایت با این خطا روبرو میشود.
امیدواریم در این مقاله به شما نحوه برطرف کردن خطای cURL 28 کمک کرده باشیم. همچنین اگر تجربهای در این زمینه کسب کردهاید در زیر همین مقاله با ما در میان بگزارید.