خطای cURL 28 وردپرس چیست؟
خطای cURL 28 در وردپرس هنگامی رخ میدهد که سرور بهموقع نتواند به درخواستهای داده پاسخ دهد. وردپرس برای ارسال و دریافت دادهها از REST API استفاده میکند که یک تکنیک برنامهنویسی متداول برای ارتباط با سرور است. هر درخواست REST API دارای یک مدت زمان معین برای پاسخگویی است. اگر این مدت زمان سپری شود و پاسخی دریافت نشود، خطای cURL 28 به وقوع میپیوندد.
این خطا با پیامی مشابه «REST API encountered an error» ظاهر میشود. در واقع، این پیام بیانگر این است که یک خطا در فرآیند REST API رخ داده است. علاوه بر این، ممکن است پیامهای دیگری مانند «عملیات پس از X میلیثانیه با دریافت X بایت بهپایان رسید (http_request_failed)» یا «Your site could not complete a loopback request» مشاهده کنید.
پیام «Your site could not complete a loopback request» به این معناست که تلاش برای ارسال درخواست به خود سایت (loopback request) ناموفق بوده است. این امر نشان میدهد که برخی از ویژگیها و عملکردهای وبسایت که به این درخواستها وابسته هستند، به درستی کار نمیکنند و نیازمند توجه و رفع مشکل هستند.
در کل، خطای cURL 28 زمانی رخ میدهد که درخواستهای HTTP از طریق cURL در زمان معین خود به نتیجه نمیرسند، که میتواند ناشی از مشکلاتی مانند تاخیر در پاسخ سرور، مشکلات شبکه، یا تنظیمات نادرست سرور باشد. برای رفع این مشکل، نیاز است که دقیقاً عوامل موثر بررسی و اقدامات لازم انجام شود.
cURL چیست؟
cURL (Client URL) یک ابزار خط فرمان و کتابخانه نرمافزاری است که برای انتقال دادهها با استفاده از URLها طراحی شده است. این نرمافزار در بسیاری از برنامههای وب از جمله وردپرس بهکار میرود. cURL از پروتکلهای مختلفی مانند HTTP، HTTPS، FTP، و بسیاری دیگر پشتیبانی میکند و امکان ارسال و دریافت درخواستهای داده از طریق این پروتکلها را فراهم میسازد.
در زمینه وردپرس، cURL بهعنوان یک اکستنشن برای زبان برنامهنویسی PHP عمل میکند و نقش حیاتی در پاسخگویی به درخواستهای API ایفا میکند. وردپرس از cURL برای ارتباط با سرورهای خارجی و همچنین برای انجام درخواستهای داخلی استفاده میکند. این درخواستها میتوانند شامل بهروزرسانیهای پلاگینها، تمها، و هسته وردپرس، ارتباط با سرویسهای شخص ثالث و بسیاری موارد دیگر باشند.
بهعنوان یک اکستنشن PHP، cURL به پیکربندی مناسب در سرور نیاز دارد. مسئولیت این پیکربندی و پشتیبانی بر عهده شرکت میزبان وب (هاست) است. اگر cURL بهدرستی پیکربندی نشود یا با نسخههای قدیمیتر استفاده شود، وبسایت وردپرسی ممکن است با مشکلات عملکردی مواجه شود. این مشکلات میتوانند شامل عدم توانایی در ارتباط با سرورهای خارجی، تاخیر در پاسخگویی به درخواستها و حتی خطاهای متعدد در بخشهای مختلف سایت باشند.
بهطور خلاصه، cURL یکی از اجزای کلیدی زیرساخت وردپرس برای مدیریت درخواستها و انتقال دادهها است. عملکرد صحیح و بهینهسازی این ابزار برای اطمینان از عملکرد مطلوب وبسایت بسیار حیاتی است. برای اطمینان از این امر، مدیران وبسایتها باید مطمئن شوند که سرورهایشان از نسخههای بهروز PHP و cURL پشتیبانی میکنند و تنظیمات لازم بهدرستی انجام شده است.
عوامل مؤثر بر بروز خطای cURL در وردپرس:
چندین عامل میتوانند باعث بروز خطای cURL در وردپرس شوند و عملکرد صحیح این ابزار را مختل کنند. در زیر به برخی از این عوامل بهطور کاملتر و تخصصیتر پرداخته میشود:
- افزونههای فایروال وردپرس:
1.تداخل با REST API: برخی افزونههای فایروال و امنیتی میتوانند مانع انجام درخواستهای REST API شوند. این افزونهها معمولاً ترافیک API را به عنوان فعالیتی مشکوک تلقی میکنند و برای جلوگیری از حملات احتمالی، آنها را مسدود میکنند. بهعنوان مثال، افزونههایی مانند Wordfence یا Sucuri میتوانند به اشتباه درخواستهای قانونی را بلاک کنند، که این امر باعث ایجاد خطای cURL در وردپرس میشود.
- مشکلات DNS سرور:
1.DNS سرور ناپایدار: یکی دیگر از عوامل مهم در بروز خطای cURL مشکلات مربوط به DNS سرور است. اگر DNS سرور شما به درستی پیکربندی نشده باشد یا به دلیل مشکلات شبکه ناپایدار باشد، ممکن است درخواستهای HTTP با خطا مواجه شوند. DNS سرور وظیفه ترجمه نام دامنه به آدرس IP را بر عهده دارد و اگر این فرآیند بهدرستی انجام نشود، درخواستها به مقصد نخواهند رسید و در نهایت خطای timeout رخ میدهد.
2.تاخیر در پاسخگویی DNS: تاخیر در پاسخگویی DNS سرور میتواند منجر به بروز خطاهای timeout در درخواستهای cURL شود. این تاخیر ممکن است به دلیل بار زیاد روی سرور DNS یا مشکلات شبکهای بین سرور DNS و سرور وردپرس باشد.
- تنظیمات نادرست سرور:
1.پیکربندی نادرست cURL: اگر cURL بهدرستی پیکربندی نشود یا نسخههای قدیمیتر آن استفاده شود، ممکن است مشکلاتی در انجام درخواستهای HTTP به وجود بیاید. تنظیمات نادرست میتوانند باعث کاهش عملکرد و بروز خطاهای مختلف شوند.
- محدودیتهای سرور:
1.محدودیت منابع سرور: اگر سرور میزبان وردپرس با محدودیت منابع مواجه باشد، مانند کمبود حافظه یا پردازنده، این مسئله میتواند باعث شود که درخواستهای cURL به موقع پاسخ داده نشوند و در نهایت به خطای timeout منجر شوند.
با توجه به این عوامل، برای رفع خطای cURL در وردپرس نیاز است که به دقت تنظیمات سرور، پیکربندی DNS و افزونههای امنیتی و فایروال بررسی و بهینهسازی شوند. این اقدامات میتوانند به بهبود عملکرد وبسایت و کاهش احتمال بروز خطاهای cURL کمک کنند.
چگونه خطای cURL 28 وردپرس را رفع کنیم؟
1. غیرفعالسازی موقت افزونههای فایروال و امنیتی:
یکی از علل رایج خطای cURL 28 در وردپرس، تداخل افزونههای فایروال و امنیتی با درخواستهای REST API است. این افزونهها ممکن است به اشتباه درخواستهای قانونی را به عنوان فعالیت مشکوک مسدود کنند. برای بررسی این مسئله:
- به بخش افزونههای وردپرس بروید و افزونههای فایروال و امنیتی را به صورت موقت غیرفعال کنید.
- سپس به بخش “سلامت سایت” (Site Health) مراجعه کنید و وضعیت را بررسی کنید.
- اگر خطا برطرف شد، نشاندهنده این است که مشکل از افزونههای فایروال است. در این صورت، باید لاگهای فایروال را بررسی کرده و مشخص کنید کدام درخواستهای API مسدود شدهاند.
- در صورت عدم توانایی در تشخیص مشکل، ممکن است نیاز باشد افزونه مشکلساز را حذف کرده و از افزونه دیگری استفاده کنید.
2. غیرفعالسازی تمامی افزونهها:
افزونههای متعدد ممکن است باعث ایجاد درخواستهای زیادی شوند که منجر به خطای cURL 28 میشود. برای حل این مشکل:
- به پیشخوان وردپرس رفته و همه افزونهها را غیرفعال کنید.
- برای این کار، به بخش افزونهها (Plugins) بروید و همه افزونهها را انتخاب کرده و از منوی کشویی گزینه “غیرفعال کردن” را انتخاب کنید.
- سپس به بخش “سلامت سایت” بروید و وضعیت را بررسی کنید.
- اگر خطا برطرف شد، افزونهها را یکی یکی فعال کنید و هر بار وضعیت سلامت سایت را بررسی کنید تا افزونه مشکلساز را شناسایی کنید.
3. بررسی صفحه سلامت سایت:
برای اطمینان از اینکه سرور میزبان وردپرس شما از آخرین نسخههای نرمافزارهای ضروری استفاده میکند:
- به بخش “ابزارها” (Tools) رفته و روی گزینه “سلامت سایت” کلیک کنید.
- به تب “اطلاعات” (Info) بروید و سپس به بخش “سرور” (Server) مراجعه کنید.
- اطمینان حاصل کنید که سرور شما از نسخه 7.4 به بالاتر PHP، نسخه 7.74.0 یا بالاتر cURL و نسخه 1.1.1 یا بالاتر OpenSSL استفاده میکند.
- در صورت نیاز، با شرکت هاستینگ خود تماس بگیرید و درخواست بهروزرسانی نرمافزارها را بدهید.
4. رفع مشکلات محتوای ناامن SSL:
پیکربندی نادرست SSL میتواند منجر به مسدود شدن درخواستهای ناامن cURL شود:
- اگر وبسایت شما از HTTPS/SSL استفاده میکند، اطمینان حاصل کنید که گواهی SSL بهدرستی نصب شده است.
- در صورت شک به پیکربندی نادرست، با ارائهدهنده هاست خود تماس بگیرید و از آنها بخواهید گواهی SSL را مجدداً نصب کنند.
5.کمک گرفتن از ارائهدهنده هاستینگ:
اگر هیچیک از مراحل فوق مشکل را حل نکرد، ممکن است مشکل از سرور میزبان شما باشد. در این صورت:
- مشکلات مربوط به DNS سرورها که نمیتوانند درخواستها را بهموقع مدیریت کنند یا مشکلات شبکه میتواند باعث بروز خطای cURL 28 شود.
- با ارائهدهنده هاست خود تماس بگیرید و از تیم فنی آنها بخواهید که مشکل را بررسی و رفع کنند.
- با انجام این مراحل و بررسی دقیق عوامل مختلف، میتوانید خطای cURL 28 وردپرس را شناسایی و رفع کنید.
بهطور خلاصه:
خطای cURL 28 (OPERATION_TIMEOUTED) زمانی رخ میدهد که درخواست cURL در وبسایت وردپرس نتواند در بازه زمانی مشخصی تکمیل شود. این مشکل زمانی بروز میکند که زمان پاسخگویی سرور به درخواستهای REST API بیش از حد طول بکشد، که منجر به عدم موفقیت در ارتباط و در نهایت ایجاد خطا میشود.برای حل مشکلات دیگر سایت های وردپرسی می توانید به مقاله ی مشکلات رایج سایت های وردپرسی بروید و مشکلات مهم را در وب سایت های خود بشناسید و آن ها را رفع کنید.