English

ارور cURL Error 28: Connection Timed Out و روش حل آن در وردپرس

3.7 / 5. تعداد رای: 22

ارور cURL Error 28: Connection Timed Out و روش حل آن در وردپرس

اگر یک وردپرس کار هستید و روزانه زمان زیادی از وقت خود را در محیط وردپرس می‌گذرانید. ممکن است با ارور cURL Error 28: Connection Timed Out رو‌به‌رو شده باشید. این خطا یکی از مشکلات رایج در وردپرس است. ممکن است باعث ایجاد اختلال و ایرادهای پیش‌بینی نشده در سایت شما شود. ما در این مقاله به روش‌های رفع این مشکل می‌پردازیم.

cURL چیست

cURL نرم‌افزاری است که در وردپرس و بسیاری از برنامه‌های وب دیگرمورد استفاده قرار می‌گیرد. این نرم‌افزار برای ارسال و دریافت درخواست داده‌ها از طریق URL کاربرد دارد. در واقع وردپرس برای پاسخگویی به درخواست‌های API از این نرم‌افزار استفاده می‌کند. این یک extention برای زبان برنامه‌نویسی PHP است و هاست مورد نظر شما وظیفه محافظت و پشتیبانی از آن را دارد. اگر شما پیکربندی cURL را به درستی انجام ندهید، وب سایت وردپرسی شما با مشکل روبه‌رو می‌شود و ممکن است به درستی کار نکند.

ارور cURL Error 28: Connection Timed Out

شاید به دنبال دلیل وقوع این ارور باشید. لازم است بگوییم این اتفاق زمانی رخ می‌دهد که سرور شما به موقع و در مدت زمان درست به درخواست‌ها پاسخ نمی‌دهد. وردپرس از یک روش برنامه‌نویسی به‌نام 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 وردپرس می‌شوند:

  • برخی افزونه‌های فایروال وردپرس ممکن است مانع انجام درخواست REST API شوند. دلیل این اتفاق این است که این نوع افزونه REST API را یک فعالیت مشکوک تلقی می‌کند.
  • مورد بعدی ممکن است بخاطر DNS سرور شما باشد. اگر DNS سرور شما به درستی کار نکند ممکن است باعث رخداد برخی موضوعات از جمله درخواست‌های ناموفق HTTP و درنهایت خطای time out error در وردپرس میشود.

حل ارور cURL Error 28: Connection Timed Out

برای رفع این مشکل چند راه و روش برای شما وجود دارد که در صورت لزوم می‌توانید از آن‌ها استفاده کنید:

غیرفعال کردن فایروال

غیرفعال کردن فایروال
غیرفعال کردن فایروال

در مرحله اول اگر در وردپرس از یک firewall یا افزونه امنیتی استفاده می‎کنید، بهتر است برای مدتی آن را غیرفعال کنید و پس از آن به صفحه سلامت سایت خود بروید و بررسی کنید که مشکل حل شده است یا نه. اگر مشکل حل شده است باید ورودهای مربود به firewall وردپرس خود را بررسی کنید و حساب مسدود شده را بیابید. شما با انجام این کار منبع مسئله و مشکل را پیدا کرده‌اید و با توجه به آن می‌توانید تنظیمات firewall را انجام دهید تا از مسدود شدن API های قانونی جلوگیری شود.

غیرفعال کردن افزونه‌ها

غیرفعال کردن همه افزونه‌ها
غیرفعال کردن همه افزونه‌ها

دومین روش این است که هر افزونه‌ای که روی وردپرس فعال دارید را غیرفعال کنید. زیرا این افزونه‌ها نیز درخواست‌های خود را ارسال می‌کنند و گاهی ممکن است به دلیل ارسال درخواست‌های زیاد و پشت‌سر هم، شما خطای cURL مشاهده کنید. ساده‌ترین راه برای پی بردن به این موضوع این است که به قسمت افزونه‌های نصب شده بروید و همه افزونه‌ها را انتخاب و غیر فعال کنید. حالا به قسمت سلامت سایت خود مراجعه کنید و اگر سایت را بدون هیچ مشکلی مشاهده کردید، متوجه خواهید شد که مشکل از افزونه‌ها بوده است. یکی یکی آنها را فعال کنید تا مشکل دوباره ایجاد شود و افزونه‌ای که باعث بروز مشکل شده است را بیابید.  سپس می‌توانید درمورد افزونه‌ای که باعث ایجاد این مشکل شده است، تحقیق کنید و مشکل به‌وجود آمده را رفع کنید.

آپدیت بودن نسخه‌های PHP , cURL , OpenSSL

بررسی نسخه‌های PHP و cURL
بررسی نسخه‌های PHP و cURL

گام بعدی این است که مطمئن شوید سرور سایت شما از آخرین نسخه PHP و cURL و OpenSSL استفاده می‌کند. برای پی بردن به این موضوع از منوی وردپرس، از بخش ابزارها روی گزینه سلامت سایت کلیک کنید. وقتی وارد صفحه سلامت سایت خود شدید، به قسمت اطلاعات بروید. سپس روی گزینه سرور کلیک کنید. حالا از این قسمت به راحتی می‌توانید متوجه شوید که سرور شما از چه نسخه‌ی PHP و cURL و OpenSSL استفاده می‌کند. اگر متوجه شدید که سرور سایت شما از نسخه‌های جدید و به‌روزرسانی شده استفاده نمی‌کند. باید با شرکت هاستینگ خود تماس بگیرید و از آن‌ها بخواهید که این نسخه‌ها را برای شما افزایش دهند.

رفع مشکلات محتوای ناامن SSL

اگر برای سایت خود گواهینامه 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 کمک کرده باشیم. همچنین اگر تجربه‌ای در این زمینه کسب کرده‌اید در زیر همین مقاله با ما در میان بگزارید.

موفق باشید.

نکته خاصی هست که این مقاله رو تکمیل‌تر کنه؟

  1. U337378 ۷ بهمن ۱۴۰۲

    سلام خسته نباشید من همش این خطا رو میگیرم وقتی میخوام با المنتور برگمو ادیت کنم cURL error 28: Failed to connect to my.elementor.com port 443 after 10002 ms: Timeout was reached

  2. U317973 ۲۳ مهر ۱۴۰۱

    سلام
    وقت بخیر
    ممنون از توضیحات خوب شما
    من با نگاه کردن به آموزش های شما وردپرس رو در لوکال هاست روی برنامه زمپ نصب کردم
    ولی هیچ کاری نمیتونم بکنم
    این ارور رو میده
    cURL error 28
    نه میشه افزونه نسب کرد
    نه پوسته
    هیچ کاری نمیشه کرد
    لطفا راهنمایی بفرمایید

    • تیم پشتیبانی تیم پشتیبانی ۲۴ مهر ۱۴۰۱

      درود
      روش حل این ارور رو در همین مقاله توضیح داده ایم.

      • U317973 ۲۴ مهر ۱۴۰۱

        ممنون از جوابتون
        من همه افزونه ها رو پاک کردم
        هیچ افزونه ای ندارم
        فقط یه مسئله
        من هنوز دامنه و هاست خریداری نکردم
        اول میخام در زمپ سایت مورد نظرم را طراحی کنم بعد دامنه و هاست خرید کنم و انتقال بدم
        این ارور میتونه به خاطر همین باشه؟؟

  3. U317785 ۱۴ مهر ۱۴۰۱

    کلا اصلا نمیتونم کار کنم با لوکال هاست چون هیچ افزونه ای رو نمیتونم از مخزن نصب کنم.البته میتونم فایلش رو از سایت دیگه ای بگیرم توی چوز فایل بزارم نصب کنم

  4. U317785 ۱۴ مهر ۱۴۰۱

    من چه زمپ نسخه 7 یا 8 رو نصب منیکنم و چه wampوزمانیکه میخوام یه افرونه نصب کنم این ارور رو میده

    • تیم پشتیبانی تیم پشتیبانی ۱۶ مهر ۱۴۰۱

      درود
      از روش هایی که در همین پست برای حل این ارور معرفی کردیم برای حل مشکل استفاده کنید

  5. U38071 ۲۳ تیر ۱۴۰۰

    سلام
    من روی لوکال هاست(ومپ و زمپ) تم education را نصب کردم. وقتی برای نصب روی Thim core instalation کلیک میکنم، در قسمت Remote GET ارور زی را دریافت میکنم:
    wp_remote_get() failed. Please contact your hosting provider. cURL error 52: Empty reply from server
    راه حل چیست؟

  6. U34090 ۶ اسفند ۱۳۹۹

    با سلام عرض ادب لطفا بفرمایید اصلا این خطا خطای مهمیه؟؟
    cURL error 28: Operation timed out after 5000 milliseconds with 0 bytes received (http_request_failed)
    ارزش داره ما این همه راه بریم؟ اخه خودم فکر میکنم چیز مهمی نیست
    میشه بفرمایید دقیقا این خطا باعث چی میشه؟ حتما ما باید رفع کنیم اینو؟
    تشکر

    • Reza Rad رضا راد ۹ اسفند ۱۳۹۹

      درود بر شما خیر اصلا مهم نیست. صرفا سایت شما احتمالا به دلیل تحریم‌ها نتونسته به یک سرویس متصل بشه