(菜鸟互助)Ubuntu尝试pythonCGI编程中遇到的问题

我在尝试runoob.com中的Python3CGI编程(Python3 CGI编程 | 菜鸟教程 (runoob.com))过程中遇到了以下问题,以下列出解决方式,希望有所帮助。

同时,我编译了一个C源程序 并生成了一个.cgi文件,这个文件运行是正常的(参考(35条消息) CGI环境配置(Ubuntu)_cgi配置_kyrielx的博客-CSDN博客(这篇文章只讲了C的CGI编程的环境配置 注意python的CGI编程环境配置要看下面那篇文章))

但是这个.py文件就是运行不出来

首先我按照提示完成了文件编写,以及apache安装等步骤,尝试运行程序时网页出现了以下报错

查看错误日志

tail /var/log/apache2/error.log

针对这种情况,我通过查看日志排查出以下问题

1.文件权限不够,这边需要给要运行的.py文件相应的运行权限,权限不对时会报出以下错误

 输入chmod 755 要运行的文件名 从而改变相应文件权限

chmod 755 t1.py

2.文件格式问题,这边报错说找不到文件,其实是因为我在Windows编写的程序格式(dos)与Linux中的程序格式(unix)不同,若程序路径无误缺报出以下错误时,建议检查文件格式

 使用vi编辑器打开文件,检查文件格式(:set ff)若为dos,则修改为unix(:set ff=unix)

vi t1.py

:set ff
:set ff=unix

除了这些问题外,还有如python3路径错误等问题,可以在大佬们的文章里参考

以下是我参考大佬们的文章

(35条消息) 菜鸟教程:Python3 CGI编程实操演练-Ubantu_菜鸟教程cgi编程软件_初级点工的博客-CSDN博客

sh提示“no such file or directory”解决办法-百度经验 (baidu.com)

(35条消息) liunx+apache+python+CGI+出现500错误解决办法_hellojike的博客-CSDN博客

(35条消息) apache的cgi接口运行python脚本报错的解决方式_颂0的博客-CSDN博客

(这部分为转载)

另外,第一个 cgi 程序这个部分,在英文的 linux 系统下,如果你按照教程的范文编写执行会抛出错误,解决办法有两个,一是修改程序,修改默认stdout,修改后的程序如下:

#!/usr/bin/python3

import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

print ("Content-type:text/html")
print ()                             # 空行,告诉服务器结束头部
print ('<html>')
print ('<head>')
print ('<meta charset="utf-8">')
print ('<title>Hello Word - 我的第一个 CGI 程序!</title>')
print ('</head>')
print ('<body>')
print ('<h2>Hello Word! 我是来自菜鸟教程的第一CGI程序</h2>')
print ('</body>')
print ('</html>')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值