2011-03-03 2 views
0

이 PHP를 psp (파이썬 서버 페이지)로 변환하려고합니다. 나는 PHP exec 함수를 사용하지 못하고 세션 변수를 가져온다.PHP to Python 서버 페이지, 세션 및 EXEC

fullname = subprocess.check_output(['/var/www/cgi-bin/resolveID.py', username]) 

대신 isset($array['key']) 당신이 파이썬에서 'key' in array을 사용

session_start(); 
if(isset($_POST["var"])){ 
    //set session username 
    $username = (string)$_POST["var"]; 
    $username = trim($username); 
    $_SESSION['username'] = $username; //store $username 
} 

if(isset($_SESSION['username'])){ 
    $username = $_SESSION['username']; //store session[username] as $username 
    $cmd = '/var/www/cgi-bin/resolveID.py ' . escapeshellcmd($username); 
    $fullname = exec($cmd); 
    $_SESSION['fullname'] = $fullname; 

} 
else{ 
    echo 'Your session has expired, please click <a href="https://devh.test.com/">here</a>'; 
    exit; 
} 

이 내가 subprocess.check_output() 당신이 찾고있는 기능입니다 생각 나는

<% 
import cgitb, session 
cgitb.enable() 

user_session = Session.Session() 
#post info 
if form.getvalue('var'): 
    varUsername = form.getvalue('var') 
    user_session['username'] = varUsername 

#session set stuff 
try: 
    if user_session['username']: 
     #is set 
     varUsername = user_session['username'] 
     varCMD = '/var/www/cgi-bin/resolveID.py ' + varUsername 
     varFullname = subprocess.check_output(varCMD) 
     user_session['fullname'] = varFullname 
except: 
    #not set 
    req.write('Your session has expired, please click <a href="https://dev.test.com/">here</a>') 
%> 
+0

당신은 무엇을 시도 했습니까? –

+0

이것은 내가 지금까지 가지고있는 것, 계속 500s를 얻는 것입니다. – Jim

답변

1

을 것입니다.

+0

대답의 두 번째 부분을 설명 할 수 있습니까? 배열의 키 정보? – Jim

+0

서브 프로세스가있는 주사위가 없습니다 .check_output – Jim