Liunx centos做了个pythonCGI程序,访问出现了500错误,网上都找不到解决办法。以为是apache配置问题。
现在把解决方案写下来,供大家参考。
我的配置是liunx+apache2.x+python3.x+CGI
第一步建议先查看,error log文件(看能不能找到原因)
如果找不到原因:看一下下面的解决办法
经过测试每一个设置都比较关键。任何一步有问题都不能成功。
cgi出现500错误 ,主要是由于 HTTP表头不对
cgi的通信依靠stdout与浏览器通信。
所以简单地在py-cgi文件里面写:
#!/usr/bin/python
print ('Content-Type: text/html')
print('')
print ('hello world' )
这样写貌似是没有问题
其实是错的
#!/usr/bin/env python2
print ''
print 'hello world'
改为py2依然不行!因为header与body之间必须有一个空行
另外:不写http header的情况下,apache会自动补上header。
代码简化一下,奇迹出现了:
#!/usr/bin/python
print ('\nhello world')
okkk了!就是一个“\n”


最低0.47元/天 解锁文章
8107

被折叠的 条评论
为什么被折叠?



