2012-03-18 33 views
0

我在使用CGI腳本時遇到了一些MySQLdb問題。我在OSx上運行本地主機。Python - 在CGI腳本中導入MySQLdb不工作在瀏覽器中

基本上,當我從終端運行我的代碼時,它運行良好,但是當我從瀏覽器運行它時,它會執行所有操作直到導入MySQLdb行,並且沒有任何操作。

例如:

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

在瀏覽器和終端,這打印出ABC。

但以下幾點:

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

在終端打印出ABC和123,但在瀏覽器中,它只是打印出ABC。

它似乎有導入MySQLdb行的問題,但我看不到任何錯誤。

有沒有人有任何想法?

回答

1

爲了縮小這個問題,我想看看兩個地方。第一個是你的網絡服務器的錯誤日誌。我不確定在OS X上的位置,但在例如紅帽它可以在/var/log/httpd/error_log中找到。使用tail -f觀看錯誤日誌爲您提交的HTTP請求:

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

你可以看看其他的事情是Python cgicgitb模塊。前者將節省你不得不重新發明輪子,而後者會在你的瀏覽器中給你回溯。

+0

太棒了!我檢查了錯誤日誌,它提示我沒有訪問文件夾,所以我只是做了sudo chmod 777/Library/Webserver。謝謝! – Ger 2012-03-18 17:50:09

+0

很高興能幫到你!一個警告詞:你的本地機器可能是'chmod 777',但是當你投入生產時,最好能夠清楚地知道用戶需要什麼權限並使用更多限制性的權限。如果你不這樣做,你最終可能會遇到安全問題。 – zigg 2012-03-19 20:37:32

相關問題