Может кто подскажет в чем дело, настраивал Twitter API, вышло что тупо в начале работы скрипт выдает ошибку где не должен, выдает Something wrong happened, на денвере все нормально выполняется, а вот на хосте ошибку пишет, хост Zeoshost, думаю что скорее всего проблема в нем, точнее в том что на хосте отключено то, что на денвере включено
раньше всегда наоборот было, на самом сайте не нашел информации, может тут кто подскажет, вот тот кусок кода:
$twitteroauth = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
$request_token = $twitteroauth->getRequestToken(CALLBACK_URL);
$_SESSION['oauth_token'] = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
if($twitteroauth->http_code==200){
$url = $twitteroauth->getAuthorizeURL($request_token['oauth_token']);
header('Location: '. $url);
} else {
die('Something wrong happened.');
$this->http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
Думаю стоит ещё библиотеку выложить есть ответа не будет, но там функций много, те которые и не надо здесь
Неужели дело в CURL
Как я понял по коду $twitteroauth->http_code выдает не 200, посмотри что пишет эта переменная и глянь по мануалу.
24 Июл 2012, 17:32Выдает 0, оказалось что $request_token = $twitteroauth->getRequestToken(CALLBACK_URL); должен быть массив с данными, а тут возвращает пустой массив.
Пока думаю что проблема в этой функции, щас попробую от регулярок избавиться, помню где то читал такое, то ли фейсбук то ли твитер, хотя смысла нет в этом
function getRequestToken($oauth_callback = NULL) {
$parameters = array();
if (!empty($oauth_callback)) {
$parameters['oauth_callback'] = $oauth_callback;
}
$request = $this->oAuthRequest($this->requestTokenURL(), 'GET', $parameters);
$token = OAuthUtil::parse_parameters($request);
$this->token = new OAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
return $token;
}
Maus пишет:
"Jadson, скобку "}" в конце добавь."
То я скопировал без нее, на денвере говорю же работает все, там дальше код идет просто
Поздновато ответил, уходил по делам, а страница не до грузилась - пришел отправил заново!)
24 Июл 2012, 18:06Думаю проблема в этом - http://www.parser.ru/ на денвере он установлен, а вот на хостинге хз, лазил по функциям, вроде бы все нормально, но заметил такое:
$token = OAuthUtil::parse_parameters($request);
$this->token = new OAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
Если не в этом причина, тогда не знаю почему на денвере работает все
Jadson,возможно дело в CURL.
проверь версию curl на хостинге и сравни с версией на денвере.
-
http://www.php.net/manual/ru/function.curl-version.php
добавлено спустя 6 минут:
Twitter API
-
https://dev.twitter.com/docs/twitter-libraries#php
добавлено спустя 49 минут:
Пробуй
Документацию читал, там ответа нет, дал данные хостеру, пусть посмотрит, может она поймет в чем дело
25 Июл 2012, 8:31Jadson, проверь в апи используется опция CURLOPT_FOLLOWLOCATION при использовании curl , эта опция служит для перехвата переадресаций ,если она используется то возможно она на хосте просто напросто не работает так как для её работы требуется откл safe_mode и отключено должно быть open_basedir что как правило на хостингах не отключено. я вижу только в этом проблему, сам не тестил эту апи
Гляну по быстрому один файлик увидел CURLOPT_FOLLOWLOCATION => $this->config['curl_followlocation'], судя по всему эта опция используется, и следовательно вопрос встает о том чтобы твой хостер отключал safe_mode и open_basedir но он может сказать что это не предоставляется на твоем тарифе или же вообще отказаться настраивать