2012-03-18 2 views
0

CGI 스크립트에서 사용할 때 MySQLdb에 문제가 있습니다. OSx에서 로컬 호스트를 실행 중입니다.Python - 브라우저에서 작동하지 않는 CGI 스크립트에서 MySQLdb 가져 오기

기본적으로 터미널에서 코드를 실행하면 정상적으로 실행되지만 브라우저에서 실행하면 가져 오기 MySQLdb 줄까지 아무 것도 실행하지 않고 아무 것도 실행하지 않습니다. 예를 들어

: 브라우저와 단말기에

#!/usr/bin/python 
print "Content-Type: text/html\n" 
print "abc" 

,이 ABC를 출력한다.

그러나 다음 터미널 밖으로 인쇄 ABC와 123에서

#!/usr/bin/python 
print "Content-Type: text/html\n" 
print "abc" 
import MySQLdb 
print "123" 

,하지만 브라우저에서 그냥 ABC를 출력합니다.

가져 오기 MySQLdb 라인에 문제가있는 것 같지만 오류는 볼 수 없습니다.

아무도 아이디어가 있습니까?

답변

1

문제의 범위를 좁히려면 두 곳을 살펴보아야합니다. 첫 번째는 웹 서버의 오류 로그입니다. OS X에서 어디에 있는지 잘 모르겠습니다. 예를 들면. Red Hat은 /var/log/httpd/error_log에서 찾을 수 있습니다. 당신이로 볼 수

$ tail -f /var/log/httpd/error_log 

다른 것은 파이썬의 cgicgitb 모듈입니다 : 당신이 당신의 HTTP 요청을 제출로 오류 로그를보고 tail -f를 사용합니다. 전자는 바퀴를 재발견 할 필요가 없으며 후자는 브라우저에서 추적을 제공합니다.

+0

Brilliant! 오류 로그를 확인하고 폴더에 액세스 할 수 없다고 제안 했으므로 sudo chmod 777/Library/Webserver를 방금했습니다. 감사! – Ger

+0

기꺼이 도와 드리겠습니다! 한 마디 경고 : 로컬 컴퓨터에서'chmod 777'을 사용하는 것이 좋겠지 만, 제작에 들어가면 어떤 사용자에게 어떤 권한이 필요한지 정확하게 분류하고보다 제한적인 권한을 사용하는 것이 가장 좋습니다. 그렇지 않으면 손에 보안 문제가 발생할 수 있습니다. – zigg