我在自定义服务Skebby
中使用kriswallsmith/Buzz浏览器。以下是config.yml
,请注意致电setVerifyPeer(false)
以禁用SSL证书验证:
# cURL client
buzz.client.curl:
class: Buzz\Client\Curl
public: false
calls:
- [setVerifyPeer, [false]]
# Buzz browser configured to use cURL client
buzz.browser:
class: Buzz\Browser
arguments: ['@buzz.client.curl']
虽然Skebby
本身已注明schmittjoh/JMSDiExtraBundle:
/** @Service("skebby") */
Class Skebby
{
/**
* @InjectParams({
* "browser" = @Inject("buzz.browser"),
* "translator" = @Inject("translator")
* })
*
* @param \Buzz\Browser $browser
* @param \Symfony\Bundle\FrameworkBundle\Translation\Translator $translator
*/
public function __construct(Browser $browser, Translator $translator)
{
$this->browser = $browser;
$this->translator = $translator;
}
public function getCredit()
{
var_dump($this->browser->getClient());
die();
}
}
不幸的是,调用(在控制器内部)$this->get('skebby')->getCredit()
显示服务容器发生了错误:
object(Buzz\Client\Curl)[4905]
private 'lastCurl' => null
protected 'options' =>
array (size=0)
empty
protected 'ignoreErrors' => boolean true
protected 'maxRedirects' => int 5
protected 'timeout' => int 5
protected 'verifyPeer' => boolean true
verifyPeer
仍为true
,因为调用setVerifyPeer(false)
从未发生过。我的配置有问题吗?
有用的链接:
AbstractClient.php
抽象客户端类AbstractCurl.php
cURL客户的父类,扩展AbstractClient
Curl.php
类本身,扩展AbstractCurl
答案 0 :(得分:2)
calls
指令
应该是:
buzz.client.curl:
class: Buzz\Client\Curl
public: false
calls:
- [setVerifyPeer, [false]]
在您的版本中,它不会调用任何内容;)