
1. Mô tả lỗi
Khi bạn sử dụng curl để thực thi đến các url khác thì gặp lỗi như bên dưới:
SSL certificate problem: unable to get local issuer certificate
2. Cách khắc phục
- Nguyên nhân:
PHP khi gọi API bên ngoài (như Google) thì nó cần chứng chỉ CA của bên thứ ba (cacert.pem) để kiểm tra tính hợp lệ của chứng chỉ đích.
- Cách khắc phục:
Bước 1: Tải file chứng chỉ CA toàn cầu về.
Bạn tải chứng chỉ CA tại địa chỉ: https://curl.se/ca/cacert.pem và lưu nó vào đường dẫn thư mục php của bạn, ví dụ:
C:\php\extras\ssl\cacert.pem
Bước 2: Cấu hình PHP nhận diện file chứng chỉ.
- Mở file php.ini của bạn lên và chỉ định đường dẫn đến chứng chỉ CA vừa tải về như sau:
curl.cainfo = "C:\php\extras\ssl\cacert.pem" openssl.cafile = "C:\php\extras\ssl\cacert.pem"
- Lưu file php.ini lại
- Khởi động lại dịch vụ IIS bằng lệnh:
iisreset
Hy vọng hữu ích với bạn!
Nosomovo