我想摆脱这个错误。我读到一个类似的问题,其中一个答案建议我可以使用以下命令禁用验证:
$client->setDefaultOption('verify', false);
我的确切错误是:
在C:\ path \ guzzle \ src \ Handler \ cURL factory . PHP:187堆栈跟踪:# 0 C:\ path \ guzzle \ src \ Handler \ cURL factory . PHP:187堆栈跟踪:# 0 C:\ path \ guzzle \ src \ Handler \ cURL factory . PHP(150):guzzle http \ Handler \ cURL factory
c:\ path \ guzzle \ src \ Handler \ curl factory . PHP(103):guzzle http \ Handler \ curl factory::finish error(Object(guzzle http \ Handler \ curl Handler),Object(guzzle http \ Handler \ easy handle),Object(guzzle http \ Handler \ curl factory))# 2
C:\path\guzze\src\Handler\CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handin C:\path\guzze\src\Handler\CurlFactory.php第187行
我读了所有这些行的代码,没有像< code>$client这样的变量,但是我在< code>CurlFactory.php中找到了这个函数。请注意文件< code>CurlFactory.php不是我创建的。
public function release(EasyHandle $easy)
{
$resource = $easy->handle;
unset($easy->handle);
if (count($this->handles) >= $this->maxHandles) {
curl_close($resource);
} else {
// Remove all callback functions as they can hold onto references
// and are not cleaned up by curl_reset. Using curl_setopt_array
// does not work for some reason, so removing each one
// individually.
curl_setopt($resource, CURLOPT_HEADERFUNCTION, null);
curl_setopt($resource, CURLOPT_READFUNCTION, null);
curl_setopt($resource, CURLOPT_WRITEFUNCTION, null);
curl_setopt($resource, CURLOPT_PROGRESSFUNCTION, null);
curl_reset($resource);
$this->handles[] = $resource;
}
}
我可以在此处设置禁用验证的选项吗?
我知道禁用验证不是一个好主意,但代码仅供个人使用并测试某些内容。如果我禁用验证,则没有问题。这是我的实际PHP文件中的代码。
require('vendor/autoload.php');
use JonathanTorres\MediumSdk\Medium;
$medium = new Medium('my-key');
$user = $medium->getAuthenticatedUser();
echo 'Authenticated user name is: ' . $user->name;
如您所见,我在代码中的任何地方都没有使用cURL。这些选项需要在库的某个地方设置。是否可以在我自己的文件中禁用验证,而不是更改库的源代码?
您可能正在寻找CURLOPT_SSL_VERIFYHOST选项。如果未指定,此设置默认为选项2,这意味着如果证书名称与连接的服务器名称不匹配,连接将失败。将此设置为0意味着主机名将被忽略,无论名称是否匹配,证书都将被接受。通常这足以解决自签名证书的问题。
选项1是一个传统选项,过去用于调试,但已被弃用,不应使用。
这也可能是因为curl无法找到根证书包。您可以从curl站点下载这个包,并将其保存到服务器上的某个位置,然后在php.ini中添加对它的引用,如下所示:curl . cainfo = FOLDER _ PATH \ cacert . PEM
这也可能与古兹的版本有关,我发现引用这是古兹4号以后版本的一个问题。不确定这对你来说是否可行。
我试图通过tls连接上传一个带有显式ftp的文件,使用PHP中的cURL。使用ftp服务器的身份验证成功,但当我尝试以被动模式上载文件时,收到以下错误:“连接到server.domain.nl:21的未知SSL协议错误”。 这种情况下的问题是什么?可能是被动上载的端口被我的提供商阻止了吗?我可以更改文件上载的端口吗? 我的代码是:
我正在尝试将php与firebase结合使用 安装软件包“composer require kreait/firebase php^4.0”后 调整我的火力基地 它向我显示了错误: 致命错误:未捕获错误http\Exception\ConnectException:cURL错误35:OpenSSL SSL\u connect:SSL\u error\u连接到ff64t的系统调用。firebasei
cURL错误35:连接中出现未知SSL协议错误(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html)186/var/www/api/vendor/guzzlehttp://guzzle/src/Handler/CurlFactory.php
我使用PHP CURL发送POSTFIELD,但我得到错误415不支持的媒体类型这是我的代码: 我收到错误信息 HTTP/1.1 415不支持的媒体类型日期:周三,01月2018 18:19:00格林尼治标准时间服务器:Apache缓存控制:无缓存缓存控制:无存储Pragma:无缓存内容长度: 903过期:周四,01月1970 00:00:00格林尼治标准时间设置-Cookie: WMONID=R
它需要做的是获取用户名和密码,验证它并根据密码给出适当的输出。请帮帮我.也让我知道如果我的怀疑是正确的。另外,我听说在servlet程序中编写html代码不是一个好的做法。我还想知道如何在index.html文件中编写上面的html代码,这应该与该程序预期的行为方式相同。谢了。
大约一到两周前,我就无法使用pip,因为它总是会回退以下错误: 错误:由于环境原因无法安装程序包错误:HTTPSConnectionPool(host='files.pythonhosted.org',port=443):url超过最大重试次数:/packages/1b/e5/552ba6583ab43e12b299458fea94ee23886125b8b8babc91edb03f2ba65/p