免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3071 | 回复: 2
打印 上一主题 下一主题

学习写了一个CGI程序,但是没办法以写模式打开文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 16:36 |只看该作者 |倒序浏览
cgi程序很简单,如下所示
  1. #!/usr/bin/env python

  2. import cgi
  3. form=cgi.FieldStorage()


  4. text=form.getvalue('text',open('simple_edit.dat').read())
  5. f=open('simple_edit.dat','w')
  6. f.write(text)
  7. f.close()

  8. print """Content-type:  text/html

  9. <html>
  10.         <head>
  11.                 <title>A simple Editor</title>
  12.         </head>
  13.         <body>
  14.                 <form action='simple_edit.cgi' method='POST'>
  15.                 <textarea rows='10' cols='20' name='text'> %s </textarea><br />
  16.                 <input type='submit' />
  17.                 </form>
  18.         </body>
  19. </html>
  20. """ % text
  21. ~                  
复制代码
把它 放到 /var/www/cgi-bin中,打开apache服务器,但是从浏览器登录时出现错误,去log中查看,问题出在 f=open('simple_edit.dat','w')这里。
simple_edit.dat已经设置成了 777 权限。
并且我在命令行下 直接执行这个 python 程序是没有问题的,可以以写的模式打开这个文件,但是在浏览器中是无法打开的。
我现在猜测问题可能出在 httpd的配置上,但是我查看了配置文件,也没有找到相关资料。
大家有类似经验吗?在 cgi中以写模式打开文件。
谢谢大家了。
补充:
如果把 f=open('simple_edit.dat','w')改成 f=open('simple_edit.dat','r'),在浏览器中是可以打开的,
所以问题就是出在 无法以写的形式打开, 但是文件我已经设置成了 777了,怎么会事呢?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2011-12-21 16:43 |只看该作者
lz试试关闭selinux看看

论坛徽章:
0
3 [报告]
发表于 2011-12-21 17:14 |只看该作者
可以了~~~就是selinux的问题,谢谢LS
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP