我正在开发一个使用Dropbox SDK做一些事情的网页.大多数情况都是通过CLI发生的,但必须在浏览器中完成一件特别的事情.不过,我偶然发现了一个有趣的问题.
$dbxClient = new dbx\Client($accountToken, 'xxx/' . VERSION);
$folderMetadata = $dbxClient->getMetadataWithChildren("/");
Run Code Online (Sandbox Code Playgroud)
运行此代码在CLI中运行良好.然而,在浏览器中运行它会给我一个502.由于困惑,我启动了xdebug并跟踪问题出现的位置.我发现,Dropbox的curl-call导致了它,所以我写了一个小例子脚本来看看,如果curl工作的话.它不是.
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
Run Code Online (Sandbox Code Playgroud)
在浏览器中运行此代码会立即生成502.如果我删除https://或将其设为http://(或在CLI中运行),它可以工作.问题似乎是PHP7 + curl + SSL.添加curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);不起作用.
我该怎么做才能找到,为什么会发生这种情况以及如何解决它?
系统信息: