在Apache web服务器上运行的python脚本中包含Paramiko时出错500
当我试图通过web浏览器访问is时,以下脚本生成一个500内部错误在Apache web服务器上运行的python脚本中包含Paramiko时出错500,python,apache,paramiko,Python,Apache,Paramiko,当我试图通过web浏览器访问is时,以下脚本生成一个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><bo
#!/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>"
#/usr/bin/python
导入cgi
进口cgitb
进口帕拉米科
cgib.enable()#启用错误消息
打印“内容类型:文本/html”#随后是html
打印“”
打印“完成”
如果我从linux命令行执行脚本,那么脚本运行时不会出错
如果我注释掉“import paramiko”行,它在web浏览器中运行良好
#!/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>"
我知道paramiko已经安装并运行,因为它被其他命令行脚本使用。这是我第一次尝试从web界面访问的脚本中使用paramiko
我在/var/log/httpd/error\u日志文件中没有看到任何错误
我应该在哪里解决这个问题
我正在运行Centos 5-10.el5,使用apache v 2.2.3-83.el5和python 2.7.2。将脚本中的第一行更改为:
#!/usr/local/bin/python2.7
…解决了我的问题。web脚本现在使用的python与我从命令行运行脚本时使用的python相同。apache可能在用户
httpd
下运行。可能此用户未正确安装paramiko
?我找不到任何方法以apache用户身份运行脚本,以测试是否存在用户权限问题。没有httpd用户:#su-c/bin/bash apache此帐户当前不可用。
不确定发生了什么变化,但现在当我尝试通过web浏览器访问脚本时,我收到一个来自Python的错误,告诉我找不到模块“paramiko”。同样,当从linux命令行运行时,脚本也可以工作。我还注意到了其他一些事情。。。错误消息中的python版本是2.4.3,但是从命令行python报告它是2.7.2。为什么apache会运行与我的LinuxBash命令行不同的python版本?