PHP: file_get_contents() failed with SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

ต่อเนื่องจากโพสก่อนหน้าเกี่ยวกับ Error file_get_contents() ที่มีการดึงข้อมูลจากเว็บไซต์ที่ใช้โปรโตคอล “HTTPS” ปัญหานี้เป็นอีกกรณีที่อาจพบเจอได้ ในโพสนี้ขอสรุปวิธีการแก้ไขเลยแล้วกันครับ

สำหรับข้อความ Error ที่เจอดังข้างล่าง

Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

การแก้ไขให้เราเพิ่มโค้ดก่อนเรียกใช้ file_get_contents() ดังนี้

$arrContextOptions=array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
); 

$url=”https://blockchain.info/ticker”;

$json = file_get_contents($url,false,stream_context_create($arrContextOptions));

จากตัวอย่างเราสร้าง array เพื่อเก็บค่า ssl , verify_peer, verify_peer_name แล้วใส่เป็นออปชันในการเรียกใช้ file_get_contetns(). แล้วทดสอบอีกครั้งพบว่า Error หายไปครับ

You may also like...