加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – cURL失败并显示错误:无法理解服务器证书格式

发布时间:2020-12-13 18:01:38 所属栏目:PHP教程 来源:网络整理
导读:Mac OSX El Capitan,默认apache安装在localhost上,brew安装了php70.以下代码使用cli(php -f test.php),但是从apache运行时我得到以下内容. SSL certificate problem: Couldn't understand the server certificate format 使用“http”URL在两者中都可以正常
Mac OSX El Capitan,默认apache安装在localhost上,brew安装了php70.以下代码使用cli(php -f test.php),但是从apache运行时我得到以下内容.
SSL certificate problem: Couldn't understand the server certificate format

使用“http”URL在两者中都可以正常工作.在Ubuntu机器上相同的设置工作正常.我在做El Capitan的干净安装之前有这个工作,我依旧记得有关Mac OSX和openssl for curl的一些东西,但是在这里找不到区别.

$curl = curl_init();

curl_setopt_array($curl,array(
  CURLOPT_URL => "https://api.example.com/",CURLOPT_RETURNTRANSFER => true,CURLOPT_ENCODING => "",CURLOPT_MAXREDIRS => 10,CURLOPT_TIMEOUT => 30,CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,CURLOPT_CUSTOMREQUEST => "GET",CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache"
  ),));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
我有同样的问题,经过大量的搜索后找到了解决方案……

我正在使用php56,但我没有理由为什么这也不适用于php70.

验证相同的问题

首先检查PHP cURL库是否使用内置版本的Mac OS OS(X):
php -i | grep“SSL版”

如果您获得SSL Version => SecureTransport然后它使用内置版本的Mac OS(X),这似乎是问题的核心.

>为了解决这个问题,您必须安装自制的cURL库版本:

brew install curl --with-libssh2 --with-openssl

>然后使用以下两个选项重新安装PHP:
–with-homebrew-curl –with-homebrew-openssl
(包括您需要的任何选项)

brew install php56 --with-homebrew-curl --with-homebrew-openssl (--with-apache ...)

或者用于PHP 7.2:

brew reinstall php72 --with-apache --with-homebrew-curl --with-homebrew-libxslt --with-homebrew-openssl --without-snmp

校验

php -i | grep "SSL Version"

应该给:

SSL Version => OpenSSL/1.0.2j

注意:安装Homebrew cURL时会发出警告:

macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

我没有用这么长时间来验证任何现在/不存在的问题.

资料来源:https://www.farces.com/wikis/naked-server/php/php-openssl/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读