رفع خطای cURL error 28 وردپرس

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

cURL error 28: Operation timed out after 10001 milliseconds with 0 out of 0 bytes received

 

در این مورد معمولا سایت (قالب یا پلاگین های نصب شده وردپرس) سعی میکند به سایت دیگری وصل شود و اطلاعاتی را از آن دریافت یا به آن ارسال کند. ولی گاهی اوقات بدلیل اختلالات اینترنت داخل کشور و کندی ارتباط این اتصال برقرار نشده یا کند است و باعث بروز خطای تایم اوت میشود.

محدودیت تایم اوت ۱۰۰۰۰ میلی ثانیه یا همان ۱۰ ثانیه در سمت وردپرس یا پلاگین های نصب شده اعمال شده و ارتباطی به هاست ندارد.

جهت افزایش timeout در وردپرس بصورت زیر اقدام میکنیم:

وارد سی پنل یا پنل مدیریت هاست شده و در مدیریت فایل به پوشه‌ی wp-includes بروید و فایل http.php را ویرایش کنید.

کد زیر را به انتهای فایل اضافه کنید:

add_filter('http_request_args', 'bal_http_request_args', 100, 1);
function bal_http_request_args($r) //called on line 237
{
    $r['timeout'] = 30;
    return $r;
}
 
add_action('http_api_curl', 'bal_http_api_curl', 100, 1);
function bal_http_api_curl($handle) //called on line 1315
{
    curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, 30 );
    curl_setopt( $handle, CURLOPT_TIMEOUT, 30 );
}

و فایل http.php را ذخیره کنید.

 

با افزودن کد فوق به فایل http.php مشکل تایم اوت برطرف میشود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *