2016-09-23 2 views
2

Я следую примеру на https://getstream.io/get_started/?language=php, чтобы понять, как работает getstream io. Я столкнулся с ошибкой, которая запутала меня.Ошибка подключения к getstream php

require_once './vendor/autoload.php'; 
$client = new GetStream\Stream\Client('YOUR_API_KEY',  'API_KEY_SECRET'); 
$chris = $client->feed('user', 'chris'); 
// I replaced Your api key and api key secret with the one   in my dashboard 
// Add an activity; message is a custom field - tip: add unlimited   custom fields! 
$data = array(
"actor" => "chris", 
"verb" => "add", 
"object" => "picture:10", 
"foreign_id" => "picture:10", 
"message" => "Beautiful bird. Absolutely beautiful. Phenomenal bird." 
); 

$chris->addActivity($data); 


// jack's 'timeline' feed follows chris' 'user' feed: 
$jack = $client->feed('timeline', 'jack'); 
$jack->followFeed('user', 'chris'); 


// Read the 'timeline' feed for jack, chris' post will now show up: 
$activities = $jack->getActivities(10); 
var_dump($activities); 

В моем файле composer.json я сделал это

 "require": { 
     "get-stream/stream": "2.2.8" 
     } 

Я попытался вышеприведенный код на моей машине LOCALHOST на окнах, но получил эту ошибку

Fatal error: Uncaught exception 'GuzzleHttp\ExceptionConnectException'  with message 'cURL error 28: Operation timed out after 0 milliseconds with 0 out of 0 bytes received (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)' in C:\xampp\htdocs\CorpersMate\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 186 
GuzzleHttp\Exception\ConnectException: cURL error 28: Operation timed out after 0 milliseconds with 0 out of 0 bytes received (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in C:\xampp\htdocs\CorpersMate\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 186 

любые идеи, ребята?

+0

@mimarcel Я новичок. Я последовал за гидом, и я получил эту ошибку. –

+0

Вы уверены, что хотите иметь одну кавычку после SECRET? Кажется, что это нарушение кода. Или это опечатка? – mimarcel

ответ

0

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

// file name is Client.php 

    public function __construct(array $config = ['verify' => false]) { 
    if (!isset($config['handler'])) { 
     $config['handler'] = HandlerStack::create(); 
    } 

    // Convert the base_uri to a UriInterface 
    if (isset($config['base_uri'])) { 
     $config['base_uri'] = Psr7\uri_for($config['base_uri']); 
    } 

    $this->configureDefaults($config); 
} 
1

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

Изменить вторую строку

$client = new GetStream\Stream\Client(KEY, SECRET); 
+0

Проверьте, есть ли у вас openssl с phpinfo() –

+0

Поддержка openssl включена, а версия библиотеки - OpenSSL 1.0.11. –

+0

Я просто попробовал это на производственном сервере и работает нормально. Интересно, почему он не работает над Xampp –

0

Я копаться, почему это не работает на Xampp для вас. Можете ли вы отправить нам свои варианты cURL, версию библиотеки и т. Д.?

В то же время, на основе рабочего процесса вы создали:

  1. построить канал для Криса
  2. построить деятельность и положить его на корм Криса
  3. построить канал для Джека
  4. Джек следует кормить
  5. прочитать фид Джека и ожидают увидеть Крис Криса Активности в

... Джеку нужно будет указать количество действий, которые нужно скопировать, когда будет следовать фиду Криса, иначе Джек будет видеть обновления только с этой точки; Джек никогда не увидит «картину: 10» от Криса. Там в третий необязательный параметр, который можно отправить через followFeed(), который определяет, сколько элементов, чтобы скопировать кормить Джека, когда вы начинаете следующее:

$jack->followFeed('user', 'chris', 100); 

Или вы можете двигаться шаг 4 между шагом 1 и 2. Если Джек следует Крис прежде чем Крис добавит фотографию, он должен появиться на канале Джека.

+0

@michail_w, если бы вы могли связаться со мной по адресу [email protected] У меня есть некоторые последующие вопросы о вашей платформе, версии xampp и т. Д., Поэтому я могу воспроизвести это для вас, чтобы помочь найти решение. – iandouglas