2016-09-05 3 views
1

я получаю ошибку, которая призывающую к API локально, прекрасно работает на моем сервере:Laravel, Local Hosted Curl ошибка 60: SSL сертификат

Curl ошибки 60: проблемы сертификата SSL: не удалось получить локальный эмитент сертификат

Есть ли способ остановить это исключение от локального отображения?

Вот мой код, игнорировать(), как это переменная информация:

public function testCheck($domains){ 

     $client = new Client(); 

     $res = $client->request('GET', 'https://api.namecheap.com/xml.response?ApiUser=(username)&ApiKey=(apikey)&UserName(username)&ClientIp=(ip)&Command=namecheap.domains.check&DomainList=' . $domains); 

     $data = json_decode($res->getBody()); 

     dd($data); 

    } 

Есть ли способ, чтобы остановить это исключение из показывая локально, так что я могу продолжить тестирование?

ответ

3

Если вы тестируете локально можно отключить SSL проверки:

// Disable validation entirely 
$client->request('GET', '/', ['verify' => false]); 

смотрите документацию для получения дополнительной информации: http://guzzle.readthedocs.io/en/latest/request-options.html#verify-option

Однако вы не должны использовать это для чего-нибудь еще, чем тестирование, в нормальной вам следует использовать сертификат и правильно проверить этот сертификат.

+0

Спасибо, что сработало! я обязательно удалю заголовок при загрузке на производство. Быстрый вопрос, знаете ли вы, как Guzzle может вернуть XML? Я изо всех сил пытаюсь вывести ответ - обычно я получаю ответ Json, но на этот раз его xml. –

+0

Что ты имеешь в виду? Если вы получите xml в качестве ответа, вы можете использовать что-то вроде: http://php.net/manual/en/function.simplexml-load-string.php, чтобы прочитать его в php. Однако лучше разместить новый вопрос. –

Смежные вопросы