2014-04-11 2 views
0

이 코드를 Instagram API에 로그인하는 데 사용하고 있지만 일부 서버에서는이 코드가 올바르게 실행되고 다른 서버에서는 인스 트림 데이터를 가져올 수 없습니다. 왜 그런지 누가 압니까?"일부"서버에서 Instagram의 데이터를 가져 오는 방법

<?php 

require 'instagram.class.php'; 
require 'instagram.config.php'; 

// Receive OAuth code parameter 
$code = $_GET['code']; 

// Check whether the user has granted access 
if (true === isset($code)) { 

// Receive OAuth token object 
$data = $instagram->getOAuthToken($code); 

if(empty($data->user->username)) 
{ 
echo "1"; 

} 
else 
{ 
    session_start(); 
    $_SESSION['userdetails']=$data; 
    echo $user=$data->user->username; 
echo $fullname=$data->user->full_name; 
echo $bio=$data->user->bio; 
echo $website=$data->user->website; 
echo $id=$data->user->id; 
echo $token=$data->access_token; 


} 
} 
else 
{ 
// Check whether an error occurred 
if (true === isset($_GET['error'])) 
{ 
    echo 'An error occurred: '.$_GET['error_description']; 
} 

} 

?> 
+0

당신은 아마 끈적 세션이 필요합니다 [로드 밸런서], 나는 내 session.save_handler와 PHP는 같은 세션을 공유 memcache를 사용 –

답변

1

서버에서 세션을 만들면 다른 서버에서 세션을 가져올 수 없습니다. 고정 세션을 사용해야합니다. 내 suggesiton이 서버 중 하나에 memcache를 설치하고 있습니다. howto가 here을 설치하는 것을 볼 수 있습니다. 설치 후 memcache 서버 경로가 localhost:11211이라고 가정 해 보겠습니다. PHP는 서버 메모리 대신에이 Memcache 서버에 세션을 저장하도록 설정할 수 있습니다. 당신은

session.save_handler = memcache 
session.save_path = "tcp://localhost:11211" 

당신이 어떤 세션을 설정

, 그것은이 memcache를 서버에 생성됩니다, 당신 php.ini 간단한의 conf에 따라 필요, 당신은 모든 서버에서 얻을 수 있습니다. 이 설정은 모든 서버에 적용됩니다. 모든 서버에서 서버 이름을 session.save_path으로 지정해야합니다. 이후, 하나의 memcache 서버가 있기 때문에

+0

좋은 대답 - 좋은 해결책. Memcache +1 –

관련 문제