zhaket logo

حل مشکل Curl error 28 connection timed out در وردپرس

آموزش وردپرس

10 دقیقه دقیقه زمان مطالعه

اگر شما هم یکی از کاربران وردپرس هستید قطعاً برای سایتتان خطاهای مختلف و زیادی مانند ارور cURL error 28: Connection timed out به وجود آمده است. خطای cURL 28 یکی از مشکلات رایج WordPress REST API است که می تواند بر عملکرد وب سایت شما تأثیر گذاشته و ممکن است باعث به وجود آمدن یک رفتار غیر قابل پیش بینی شود. در این مقاله ، ما به شما نشان خواهیم داد که چگونه مشکل “cURL error 28: Connection timed out” را در وب سایت وردپرس خود برطرف کنید و برای آن چه راهکار های دقیقی وجود خواهد داشت.

cURL در وردپرس چیست؟

cURL سیستمی است که داده‌ها را از طریق URLها به سرور منتقل و از آن دریافت می‌کند. در وردپرس، این سیستم در REST API به‌کار گرفته می‌شود و مسئول مدیریت درخواست‌های API است تا وب‌سایت بتواند به سرور و پایگاه داده متصل شود و داده‌ها را ارسال یا دریافت کند.

این فرآیند انتقال داده، زمان مشخصی نیاز دارد و اگر بیش از حد طول بکشد، ممکن است منجر به خطای cURL 28: Connection timed out شود. معمولاً این خطا را در بخش سلامت سایت وردپرس مشاهده می‌کنید که با عنوان The REST API encountered an error نمایش داده می‌شود. با کلیک روی این عنوان، پیام خطا گسترش می‌یابد و ممکن است عبارت‌هایی مانند «خطای cURL 28: عملیات پس از X میلی‌ثانیه با X بایت دریافتی به پایان رسید (http_request_failed)» یا «درخواست loopback به سایت شما ناموفق بود» را ببینید، که نشان‌دهنده مشکلات در عملکرد ویژگی‌های متکی به API است.

نحوه رفع ارور cURL error 28: Connection timed out

  1. غیرفعال کردن موقت فایروال وردپرس
  2. غیرفعال کردن تمامی افزونه‌های وردپرس
  3. به‌روزرسانی نرم‌افزارهای سرور میزبان
  4. رفع مشکلات SSL و محتوای ناامن
  5. تماس با ارائه‌دهنده هاست برای پشتیبانی

برای رفع ارور cURL error 28: Connection timed out در وردپرس، ابتدا فایروال یا افزونه‌های امنیتی را موقتاً غیرفعال کنید و سلامت سایت را بررسی کنید. سپس تمام افزونه‌ها را غیرفعال کرده و یکی‌یکی فعال کنید تا منبع خطا مشخص شود. در ادامه، از به‌روز بودن PHP، cURL و OpenSSL روی سرور اطمینان حاصل کنید، تنظیمات SSL را بررسی کرده یا گواهی را مجدداً نصب کنید و در نهایت، در صورت حل‌نشدن مشکل، از پشتیبانی هاست کمک بگیرید.

1. فایروال وردپرس را به طور موقت غیرفعال کنید

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

اگر چنین است ، پس باید سیاهه های مربوط به فایروال وردپرس خود را بررسی کنید تا ببینید دقیقاً کدامیک از درخواست های API مسدود شده است. با انجام این کار منبع مسئله و مشکل شما شناسایی می شود و می توانید آن را برطرف کنید. همچنین می توانید تنظیمات فایروال را به گونه ای قرار دهید که درخواست های قانونی API مسدود نشوند و برای آن ها مشکلی پیش نیاید.

2. تمامی افزونه های وردپرس را غیرفعال کنید.

افزونه های وردپرس درخواست های API خود را برای ارسال و دریافت داده ها انجام می دهند. اگر این تماس ها بیش از حد مکرر هستند و یا انجام آن ها خیلی طولانی است ، در این صورت ممکن است خطای cURL error 28: Connection timed out در گزارش سلامت سایت شما ایجاد شود. ساده ترین راه برای کشف این مسئله غیرفعال کردن تمام افزونه های وردپرس است.

کافی است به صفحه افزونه ها بروید و از بین افزونه های نصب شده افزونه های مشکوک را انتخاب کرده و حذف کنید. همچنین ممکن است شما مجبور باشید تمامی افزونه های وردپرس خود را غیرفعال کنید. پس از آن، بر روی منوی کشویی برای دیدن گزینه های اضافی و بیشتر کلیک کنید و گزینه ی “غیرفعال کردن” را انتخاب کرده و سپس بر روی دکمه ” اعمال” کلیک کنید.

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

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

این مقاله را حتما بخوانید
آموزش نصب وردپرس 🔌 [آموزش 3 روش مختلف]

این کار به شما کمک می کند تا افزونه ای را که ممکن است باعث بروز مشکل شود پیدا کرده و سپس می توانید از نویسنده و تولید کننده ی پلاگین درخواست پشتیبانی کنید.

3. اطمینان حاصل کنید که سرور میزبان شما از جدیدترین نرم افزار استفاده می کند

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

همچنین برای دستیابی به اطلاعات بیشتر کافی است به قسمت “اطلاعات سایت” بروید و بخش “سرور” را انتخاب کنید. از آن قسمت می توانید اطلاعات مربوط به نرم افزار نصب شده بر روی سرور میزبان وردپرس خود را بدست آورید. بنابراین با بررسی نسخه های PHP ، cURL  و OpenSSL می توانید از سلامت سایت خود حاصل کنید.ارور cURL error 28: Connection timed out

در حالت ایده آل، سرور شما باید از PHP 7.4.13 یا بالاتر ، curl 7.74.0  یا بالاتر و OpenSSL 1.1.1 یا بالاتر استفاده کند و اگر اینطور نیست ، پس باید با شرکت میزبان وردپرس خود تماس بگیرید و از آن ها بخواهید که نرم افزار مربوط حساب میزبانی شما را به روز کنند.

4. مشکلات محتوای ناامن SSL را برطرف کنید

اگر سایت وردپرسی شما از HTTPS / SSL استفاده می کند ، اما به درستی پیکربندی نشده است ، این امر می تواند وب سرور شما را به مسدود کردن درخواست های cURL ناامن هدایت کند. به همین ترتیب ، اگر سایت وردپرسی شما از گواهی SSL استفاده نمی کند ، اما با استفاده از URL HTTP یک تماس API برقرار کرده است ، این درخواست ها نیز با شکست مواجه می شوند ، ممکن است خطای cURL زیر را مشاهده کنید، برای رفع این مشکل، می توانید از ارائه دهنده میزبانی خود بخواهید گواهی SSL را برای وب سایت خود دوباره نصب کند:

Error: cURL error 7: Failed to connect to localhost port 443: Connection refused (http_request_failed)

5. از ارائه دهنده میزبان خود (هاست) کمک بگیرید

اگر با دنبال کردن مراحل بالا نتوانستید ارور cURL error 28: Connection timed out را در سایت وردپرسی خود برطرف کنید ، به احتمال زیاد مشکل از یک محیط میزبانی است. فاکتورهای زیادی وجود دارد که فقط توسط شرکت میزبان شما قابل کنترل و رفع شدن است. به عنوان مثال ، اگر سرورهای DNS آن ها نتوانند درخواست ها را به موقع حل و فصل کنند ، این امر باعث بروز محدودیت و یک مهلت برای دسترسی به درخواست های cURL می شود. همچنین موارد دیگر می تواند اتصال را کندتر کرده و یا مشکلات شبکه با سرور میزبان شما را ایجاد کند.

چه عواملی باعث بروز خطای cURL 28 در وردپرس می شود؟

دلایل مختلفی می‌تواند باعث بروز خطای cURL error 28 در وردپرس شود. یکی از رایج‌ترین آنها این است که فایروال وردپرس یک درخواست خاص REST API را مشکوک تشخیص داده و برای محافظت از سایت در برابر بدافزار یا تهدیدات امنیتی، اجازه تکمیل آن را نمی‌دهد.

همچنین، سرور DNS معیوب یا با پیکربندی ضعیف می‌تواند مانع بارگذاری صحیح درخواست‌های HTTP توسط وردپرس شود. سرور DNS وظیفه دارد نام دامنه را به آدرس IP تبدیل کند و کاربران را به وب‌سایت صحیح هدایت نماید، اما اگر این فرآیند درست انجام نشود، زمان پاسخ‌دهی طولانی شده و خطای cURL 28 رخ می‌دهد.

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

خلاصه مقاله رفع ارور cURL error 28: Connection timed out

مرحله اقدام لازم هدف/توضیح کوتاه
1 غیرفعال کردن فایروال یا افزونه‌های امنیتی بررسی سلامت سایت و شناسایی مسدود شدن درخواست‌ها
2 غیرفعال کردن همه افزونه‌ها و فعال کردن تک‌تک پیدا کردن افزونه مشکل‌دار
3 بررسی و به‌روزرسانی PHP، cURL و OpenSSL اطمینان از به‌روز بودن نرم‌افزارهای سرور
4 بررسی و نصب مجدد SSL رفع مشکلات محتوای ناامن و ارتباط امن با سرور
5 تماس با پشتیبانی هاست رفع مشکلات شبکه و DNS که خارج از کنترل وردپرس هستند

سوالات متداول

چرا خطای cURL error 28 در وردپرس رخ می‌دهد؟

چگونه می‌توان افزونه مشکل‌دار را شناسایی کرد؟

آیا نسخه PHP یا cURL روی سرور می‌تواند باعث خطا شود؟


تحریریه ژاکت

مشاهده تیم تحریریه

مطالب مشابه

6

دیدگاه ها

ارسال دیدگاه

سلام وقتتون بخیر خوشحال میشم اگر مشکلی مثل مشکل من داشتین و تونستید حلش کنید به من هم کمک کنید.
روی لوکال هاست هستم تمامی افزونه ها بغیر از المنتور غیر فعالن بخش های مختلف آپدیت هستن و curl در لوکال هاست هم فعاله فایروال یا افزونه های مرتبط با فایروال هم ندارم
و موقع باز کردن ویرایشگر المنتور با این خطا مواجه میشم :‌ cURL error 35: OpenSSL SSL_connect: Connection was reset in connection to my.elementor.com:443

سلام من وقتی کد توکن رو برای wp telegramفعال می کنم با این ارور 500 (http_request_failed – cURL error 28: Failed to connect to api.telegram.org port 443 after 5205 ms: Connection timed out)
مواجه میشم .برای رفعش چکار کنم

سلام روزتون بخیر
بدلیل تحریم و فیلترینگ این مشکل وجود داره
می‌توانید با شرکت‌های هاستینگ صحبت کنید و در صورتی که قابل انجام است، از سرور خارجی استفاده کنید

من این ایراد رو هنگام فراخوانی کتابخانه المنتور پرو دارم و روی هاست داخلی زمپ دارم استفاده میکنم،چجوری میتونم این ارور رو برطرف کنم در حالی که هیچ افزونه دیگه ای جز المنتور و نسخه پرو اش نصب ندارم و سایر بخش ها هم آپدیته!

ارسال دیدگاه