2017-04-09 3 views
0

次のスクリプトは、Webブラウザ経由でアクセスしようとすると500の内部エラーが発生します。Apache Webサーバー上でPythonスクリプトを実行する際にParamikoを含むと500エラー

#!/usr/bin/python 

import cgi 
import cgitb 
import paramiko 

cgitb.enable() # Enable error messages 

print "Content-Type: text/html" # HTML will follow 
print "" 

print "<html><head></head><body>Done.</body></html>" 

linuxコマンドラインから実行すると、スクリプトはエラーなく実行されます。

「import paramiko」という行をコメントアウトすると、Webブラウザで正常に動作します。

他のコマンドラインスクリプトで使用されているため、paramikoはインストールされ、動作しています。これは、Webインターフェイスからアクセスされるスクリプトからparamikoを使用する私の最初の試みです。

私は/ var/log/httpd/error_logファイルにエラーはありません。

どこでこの問題を解決する必要がありますか?

私はApache 2.2.3-83.el5とpython 2.7.2を使用してCentOS 5-10.el5を実行しています。私のスクリプトの最初の行を変更する

+0

apacheはユーザー 'httpd'の下で実行される可能性があります。たぶん 'paramiko'がこのユーザーのために正しくインストールされていないのでしょうか? –

+0

ユーザー権限の問題であるかどうかをテストするためのスクリプトをユーザーapacheとして実行する方法が見つかりません。 '#su -c/bin/bash apache このアカウントは現在利用できません。 ' – Calab

+0

何が変更されたのかわかりませんが、今は私が受け取っているWebブラウザを介してスクリプトにアクセスしようとしていますPythonからのエラーで、モジュール「paramiko」が見つかりませんでした。繰り返しますが、スクリプトはlinuxのコマンドラインから実行すると動作します。他にも気付いたのは...エラーメッセージのpythonバージョンは2.4.3ですが、コマンドラインからはPythonがバージョン2.7.2であることが報告されています。なぜ私のfreshmeat_linux/Linux]のbashのコマンドラインは、Pythonの別のバージョンを実行するのでしょうか? – Calab

答えて

0

#!/usr/local/bin/python2.7 

は...私の問題を解決しました。 Webスクリプトは、コマンドラインからスクリプトを実行するときと同じPythonを使用するようになりました。

関連する問題