2015-03-09 5 views
1

Используя пакет Payum с symfony2, у меня есть общая ошибка unable to verify ssl certificate.Перегрузка класса symfony2 для установки параметра curl verify_peer на false

Я не мог избавиться от него, изменив параметры curl в php.ini или установив curl в моем PHP-коде.

Однако изменения vendor/kriswallsmith/buzz/lib/Buzz/Client/AbstractClient.php класса и параметр по умолчанию $verifyPeer к false наконец позволяет мне использовать Payum и PayPal курьерским локально с WAMP.

EDIT: Я также могу переопределить этот класс, который использует другой. Я чувствую, что безопаснее:

поставщика/payum/ядро ​​/ Payum/Ядро/Мост/Buzz/ClientFactory.php

Как я могу переопределить этот класс (в идеале условно, то есть в режиме разработчика, когда я m работает локально)?

+2

Я редактировал свой пост, чтобы форматировать код, что делает его легче понять проблему, которую вы пытаетесь решить, и методы, которые вы уже пробовали. –

ответ

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]] 
+0

хорошо, он работает хорошо! Я добавил версию yml –