将Payum包与symfony2一起使用,我有一个共同点
unable to verify ssl certificate错误。

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

但是,修改vendor/kriswallsmith/buzz/lib/Buzz/Client/AbstractClient.php类并将默认的$verifyPeer选项设置为false最终使我可以在本地使用Payum和PayPal Express Checkout。

编辑:
我也可以重写使用其他类的此类。我觉得比较安全:


  供应商/ payum /核心/Payum/Core/Bridge/Buzz/ClientFactory.php


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

最佳答案

您可以覆盖服务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]]

10-07 17:56