重载 symfony2 vendor class 以将 curl verify_peer 选项设置为 false
Overload symfony2 vendor class to set curl verify_peer option to false
使用带有 symfony2
的 Payum 捆绑包,我有共同点
unable to verify ssl certificate
错误。
我无法通过更改 php.ini
中的 curl
选项或在我的 php 代码中设置 curl
选项来摆脱它。
但是,修改 vendor/kriswallsmith/buzz/lib/Buzz/Client/AbstractClient.php
class 并将默认 $verifyPeer
选项设置为 false
最终允许我在本地使用 Payum 和 PayPal 快速结账。
编辑:
我也可以覆盖使用另一个的 class 。我觉得这样更安全:
vendor/payum/core/Payum/Core/Bridge/Buzz/ClientFactory.php
如何覆盖此 class(理想情况下,即当我在本地工作时处于开发模式)?
您可以覆盖服务 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]]
使用带有 symfony2
的 Payum 捆绑包,我有共同点
unable to verify ssl certificate
错误。
我无法通过更改 php.ini
中的 curl
选项或在我的 php 代码中设置 curl
选项来摆脱它。
但是,修改 vendor/kriswallsmith/buzz/lib/Buzz/Client/AbstractClient.php
class 并将默认 $verifyPeer
选项设置为 false
最终允许我在本地使用 Payum 和 PayPal 快速结账。
编辑: 我也可以覆盖使用另一个的 class 。我觉得这样更安全:
vendor/payum/core/Payum/Core/Bridge/Buzz/ClientFactory.php
如何覆盖此 class(理想情况下,即当我在本地工作时处于开发模式)?
您可以覆盖服务 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]]