Xử lý tình huống cURL không resolve được host

Khi cài đặt, cấu hình website php hay framework tương tự có thể gặp tình huống lỗi ở các đoạn code request từ server đến 1 site khác bằng cURL. Message có dạng: “Could not resolve host: …” Ví dụ như wordpress sẽ báo không connect được wordpress.org
Đó là do DNS server hiện tại không phân giải được tên host đó. Cách giải quyết:
Tắt Ipv6 và thêm Google public DNS (tài liệu chi tiết về Google public dns: https://developers.google.com/speed/public-dns/docs/intro)
Nếu sử dụng dịch vụ shared host thì ta nhanh chóng viết email/ticket để nhờ bộ phận kĩ thuật hỗ trợ.

1 số php function để test

<?php
var_dump(dns_get_record("http://microsoft.com"));
var_dump(gethostbyname("www.google.com"));
var_dump( function_exists('curl_version'));
var_dump(curl_version());
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
        // set url 
curl_setopt($ch, CURLOPT_URL, "http://stackoverflow.com"); 

        //return the transfer as a string 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($_h, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
        // $output contains the output string 
$output = curl_exec($ch); 
var_dump(curl_error($ch));
var_dump(curl_errno($ch));

        // close curl resource to free up system resources 
curl_close($ch);      
var_dump($output);

?>

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s