今天用 Php 查询某个 ip 地址的位置信息时报下面的错:
Warning: failed loading cafile stream: `cacert.pem' in C:\huyunan\blog\public\index.php on line 4
Warning: file_get_contents(): Failed to enable crypto in C:\huyunan\blog\public\index.php on line 4
Warning: file_get_contents(http://ip.taobao.com/outGetIpInfo?ip=36.128.130.2&accessKey=alibaba-inc): failed to open stream: operation failed in C:\huyunan\blog\public\index.php on line 4
unknown
原因是没有配置 ssl ca 证书
PHP 配置默认SSL CA证书
下载 acert.pem: https://curl.haxx.se/ca/cacert.pem
在PHP安装目录下新建一个文件夹cacert 来存放CA证书
修改 php.ini 配,启用 opensscurl 扩展,搜索 extension ,去掉需要开启扩展前的分号注释
extension=curl
extension=openssl
搜索 [curl] 和 [openssl] ,找到 curl 和 oppenssl 配置模块
curl.cainfo= C:/huyunan/install/php-7.4/cacert/cacert.pem
openssl.cafile=C:/huyunan/install/php-7.4/cacert/cacert.pem
openssl.capath=C:/huyunan/install/php-7.4/cacert
重启 apache 服务