почему мой потоковый код API ничего не отображает в php (твиттер-приложение)? - PullRequest
0 голосов
/ 05 января 2012

Я пытаюсь использовать Streaming API от php, я использую код от Мэтта Харриса Streaming code , но когда я запускаю код с помощью функции exec, nevers отображают ни одно слово, ни ошибку, как мне увидеть результат функции exec или что я делаю не так?

Это мой код:

<?php

/**
 * Very basic streaming API example. In production you would store the
 * received tweets in a queue or database for later processing.
 *
 * Instructions:
 * 1) If you don't have one already, create a Twitter application on
 *      https://dev.twitter.com/apps
 * 2) From the application details page copy the consumer key and consumer
 *      secret into the place in this code marked with (YOUR_CONSUMER_KEY
 *      and YOUR_CONSUMER_SECRET)
 * 3) From the application details page copy the access token and access token
 *      secret into the place in this code marked with (A_USER_TOKEN
 *      and A_USER_SECRET)
 * 4) In a terminal or server type:
 *      php /path/to/here/streaming.php
 * 5) To stop the Streaming API either press CTRL-C or, in the folder the
 *      script is running from type:
 *      touch STOP
 *
 * @author themattharris
 */

function my_streaming_callback($data, $length, $metrics) {
  echo $data .PHP_EOL;
  return file_exists(dirname(__FILE__) . '/STOP');
}

require 'tmhOAuth.php';
require 'tmhUtilities.php';
$tmhOAuth = new tmhOAuth(array(
  'consumer_key'    => 'Y1qoRrUSevAnfpzPJiVpQ',
  'consumer_secret' => 'usZvJYGl1y5IRmImyNSVRGyOajMzsBMubzZND7Uh4',
  'user_token'      => '435894914-UHEEk87wPsiYI4tjSOxYiVvcKZdYon5qSxI376nN',
  'user_secret'     => '1MDdrNBaMZLStfHmngmEjaW6Lkfy5cNR9ySXiqaGw',
));

$method = 'https://stream.twitter.com/1/statuses/filter.json';

// show Tweets which contan the word twitter OR have been geo-tagged within
// the bounding box -122.41,37.77,-122.40,37.78 OR are by themattharris

$params = array(
  'track'     => 'soyprole',
  // Around Twitter HQ. First param is the SW corner of the bounding box
  'locations' => '-122.41,37.77,-122.40,37.78',
  'follow'    => '777925' // themattharris
    );

$tmhOAuth->streaming_request('POST', $method, $params, 'my_streaming_callback');



// output any response we get back AFTER the Stream has stopped -- or it errors
tmhUtilities::pr($tmhOAuth);

и код, который запускает скрипт:

<?php


exec("C:\wamp\www\appTwitterNuevo3\script.php");

?>

1 Ответ

1 голос
/ 05 января 2012
exec("C:\wamp\www\appTwitterNuevo3\script.php");

Это не то, как вы выполняете файл PHP. Кроме того, у вас там недопустимый \ (обратная косая черта).

Вы можете попробовать любой из этих:

include("C:\\wamp\\www\\appTwitterNuevo3\\script.php");

или

system("C:\\wamp\\php\\php.exe C:\\wamp\\www\\appTwitterNuevo3\\script.php");
...