PHP

php curl报错OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104如何解决

1530
0

使用PHP CURL提交GET/POST请求时,某些网站的SSL站点会报错:OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104。

原因:PHP CURL的CA证书验证失败造成的。

解决办法:

一、下载CA证书

mkdir -p /usr/local/openssl/certs

cd /usr/local/openssl/certs

wget https://curl.haxx.se/ca/cacert.pem

二、编辑PHP配置文件php.ini

找到php.ini文件的正确位置,例如/etc/php/8.0/fpm/php.ini,修改其中的;openssl.cafile=openssl.cafile=/usr/local/openssl/certs/cacert.pem,注意去掉原来的注释符号“;”。

三、重启PHP服务

根据各版本的PHP不同,重启PHP服务,如:systemctl restart php8.0-fpm

再次尝试使用php curl提交GET/POST请求,报错问题解决。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *