重载symfony2供应商类以将curl verify_peer选项设置为false

时间:2015-03-09 11:36:39

标签: php symfony curl paypal payum

使用Payum捆绑包symfony2,我有共同点 unable to verify ssl certificate错误。

我无法通过更改curl中的php.ini选项或在我的php代码中设置curl选项来摆脱它。

但是,修改vendor/kriswallsmith/buzz/lib/Buzz/Client/AbstractClient.php类并将默认$verifyPeer选项设置为false最终允许我在本地使用Payum和PayPal快速结帐。

编辑: 我也可以覆盖使用另一个的这个类。我觉得它更安全:

  

供应商/ payum /型芯/ Payum /核心/网桥/巴兹/ ClientFactory.php

如何覆盖此类(理想情况下有条件,即在我本地工作时以开发模式)?

1 个答案:

答案 0 :(得分:2)

您可以覆盖服务payum.buzz.client。只需在PayumBundle之后注册的包中定义它。

<service id="payum.buzz.client" class="Buzz\Client\ClientInterface"     factory-class="Payum\Core\Bridge\Buzz\ClientFactory" factory- method="createCurl">
        <call method="setVerifyPeer">
            <argument>false</argument>
        </call>
</service>

或在yml中

services:
    payum.buzz.client:
        class: Buzz\Client\ClientInterface
        factory_class: Payum\Core\Bridge\Buzz\ClientFactory
        factory_method: createCurl
        calls:
            - [setVerifyPeer, [false]]