2012-05-09 3 views
0

나는 페이스 북 사용자 데이터를 다운로드하기위한 PHP 스크립트를 만들었습니다. 많은 데이터가 있기 때문에, 스크립트는 끝나기 전에 1-5 분 정도 걸립니다. 몇 초 후 Hovewer 페이스 북에 내 애플 리케이션이 내 서버에서 응답이 없기 때문에 오류가 나타납니다.데이터를 보내는 동안 PHP로 백그라운드에 프로세스 넣기

하지만 사용자를위한 질문을하기 위해 앱을 계속 진행하고 싶습니다. 어떻게 다운로드 프로세스를 백그라운드에 넣을 수 있습니까?

Facebook에서 데이터를 다운로드하는 일부 앱은 다른 서버에 있으며 액세스 토큰과 사용자 ID 만 보내고 인증이 성공하면 데이터 다운로드가 시작됩니다.

데이터를 다른 서버로 보내려면 file_get_contents() 메서드를 사용했습니다.

EDIT : 나는 백그라운드에서 서버에 프로세스를 넣고 사용자 스크립트가 해당 스크립트를 시작하는 방법을 중단한다고 생각합니다.

답변

0

그래서 내가 발견 한 일부 대답이 있으며 cron을 사용할 필요가 없습니다. 내 프로젝트에서 나는 다음과 같은 AJAX를 사용 :

function loadXMLDoc() 
    { 
    var xmlhttp; 
    if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.open("POST","[YOUR_PHP_FILE.php]",true); 
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
    xmlhttp.send("[REQUEST TO THE SERVER]"); 
    } 

그래서 요청이 "배경"에 간다, 심지어 클라이언트를 다시로드하는 경우 또는 여전히 작동하고 페이지를 변경 (내 프로젝트의 경우)는 데이터를 분석 끝까지 중단없이.

관련 문제