แก้ปัญหา cURL error 60: SSL certificate

ในการเขียนโปรแกรมสมัยนี้ โปรแกรมหลาย ๆ โปรแกรมมีความต้องการในการเชื่อมต่อกับระบบอื่น ๆ ผ่าน API ต่าง ๆ โดยส่วนมากแล้ว API มักจะมาในแบบของ HTTP เพราะว่าง่าย และวิธีการเชื่อมต่อของ PHP กับ HTTP ส่วนใหญ่ก็จะใช้ cURL ซึ่งก็สามารถใช้งานได้ดี แต่บางคนก็จะบนปัญหาเรื่องการแสดง error ว่า cURL error 60: SSL certificate อธิบายง่าย ๆ ก็คือเครื่องที่ส่ง cURL ไปยัง API นั้นยังไม่มี certificate นั้นเอง

วิธีการแก้ปัญหา cURL error 60: SSL certificate นั้นง่ายมากครับ เพียงคุณติดตั้ง certificate ก็สามารถใช้งานได้แล้วนั้นเอง สำหรับบทความนี้สมมุติว่าคุณเขียนโปรแกรมบน local และใช้โปรแกรม wamp นะครับ

ขั้นตอนที่ 1

ไปดาวน์โหลดไฟล์ cacert.pem มาไว้ที่เครื่องของเรา โดยสามารถดาวน์โหลดได้ที่ https://curl.se/docs/caextract.html

ขั้นตอนที่ 2

นำไฟล์ที่ดาวน์โหลดมาแล้วไปวางไว้ที่ C:\wamp64\bin\php\php7.3.1\extras\ssl ซึ่งตำแหน่ง path ขึ้นอยู่กับการติดตั้ง wamp ของเรานั้นเอง ถ้ามี php หลายเวอร์ชัน ให้เราเขียน phpinfo() แล้วเข้าไปดูเวอร์ชันได้เลย

ขั้นตอนที่ 3

แก้ไฟล์ php.ini แต่ถ้าเราไม่ทราบว่า php.ini อยู่ที่ไหนให้เราเขียน phpinfo() แล้วเข้าไปดูรายละเอียดได้เลย สำหรับผมคืออยู่ที่ C:\wamp64\bin\apache\apache2.4.37\bin\pnp.ini แล้วเข้าไปใส่ค่าที่

curl.cainfo = "C:\wamp64\bin\php\php7.3.1\extras\ssl\cacert.pem"

สามขั้นตอนนี้ก็เสร็จแล้วครับ restart wamp แล้วใช้งานได้เลยครับ สนุกกับการเขียน code เรียก api นะครับ 😉