2013-09-02 10 views
7

Próbuję wykonać połączenie z interfejsem Twitter API.Twitter API zwraca NULL na XAMPP

W skrócie, mój problem jest taki sam jak opisany here. Dzwoniąc, dostaję NULL na var_dump() wyniku.

Jednak

cURL działa dobrze, mam włączone najnowszą wersję twitter-api-php scenariusz i wszystkie tokeny, klucze i tajemnice są poprawne.

Pracuję nad lokalną instalacją XAMPP. Czy to powoduje problem? Ale wydaje się, że działa to dla innych ludzi. Czy w mojej sprawie PHP jest źle skonfigurowany? Czy po prostu tęsknię za średnikiem (co wątpię, ponieważ nie dostaję żadnych błędów)?

Oto mój kod:

ini_set('display_errors', true); 
require_once('.\libs\TwitterAPIExchange.php'); 

$settings = array(
    'oauth_access_token' => '############', 
    'oauth_access_token_secret' => '############', 
    'consumer_key' => '########', 
    'consumer_secret' => '###########' 
); 

$url = 'https://api.twitter.com/1.1/statuses/user_timeline.json'; 

$requestMethod = "GET"; 

$getfield = '?screen_name=J7mbo'; 

$twitter = new TwitterAPIExchange($settings); 
$response = $twitter->setGetfield($getfield) 
        ->buildOauth($url, $requestMethod) 
        ->performRequest(); 

var_dump(json_decode($response)); 
+1

** Czy masz włączoną obsługę cURL w XAMPP? ** - Czy twoje 'phpinfo()' pokazuje, że tak jest? – Jimbo

+0

O ile widzę, mówi: obsługa cURL \t włączona 'w' phpinfo() ' –

+0

Czy możesz napisać prosty skrypt testowy cURL, aby upewnić się, że działa zgodnie z oczekiwaniami? Ludzie, którzy mieli z tym problemy, wydawali się mieć nieprawidłowo skonfigurowane cURL - więc w 100% wypowiedzmy to przed kontynuowaniem. – Jimbo

Odpowiedz

21

jak Jimbo wskazano w powyższych uwag, można znaleźć rozwiązanie here

Według artykułu, rozkład systemu Windows PHP nie przychodzi z aktualnym pakietem certyfikatów głównych CA. Jednak pakiet można pobrać here. Umieściłem go pod C:\xampp\php\cacert.pem. Kolejny krok to dodanie curl.cainfo=c:\xampp\php\cacert.pem na końcu pliku php.ini. Zmień ścieżkę do folderu, w którym został zapisany plik .pem.

Uruchom ponownie Apache, a teraz problem powinien zostać rozwiązany!

Dzięki!

+4

To właśnie sprawia, że ​​StackOverflow jest lepszy niż jakakolwiek tablica ogłoszeń, mam nadzieję, że moja nowa odpowiedź jest w porządku! Dziękuję –

+0

Andre - należy zaznaczyć to jako "poprawną odpowiedź", zaznaczając ją po lewej stronie! – Jimbo