Chinaunix

标题: perl写cgi的问题 [打印本页]

作者: zjpixyniannian    时间: 2012-12-05 09:35
标题: perl写cgi的问题
我的机器是RH6, 然后运行着httpd,
我写了个perl的cgi,放到了/var/www/cgi-bin/的目录下面,这个cgi里有段程序要创建一个文本文件,然后写入一些东西

my $suc = open FH, ">", "host_ip_pair.bak";
if (!$suc){
        print "fail to create! $!";
}

但是在网页里执行到这个cgi的时候,会打印出 "fail to create ! Permission Denied"。。。

但是如果我在这个目录下直接执行它
#./action.cgi
这样在cgi-bin目录中是可以创建出文件的。。。。是不是在httpd.conf这个文件里应该配置一些东西?

作者: 芙蓉女侠    时间: 2012-12-05 09:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: mcshell    时间: 2012-12-05 09:54
在CGI程序的所有输出前面必须有一个MIME类型的头,
前面加
  1. print "Content-type: text/html\n\n";
复制代码

作者: zjpixyniannian    时间: 2012-12-05 09:59
本帖最后由 zjpixyniannian 于 2012-12-05 10:56 编辑

多谢。。。按照您说的搞定了。。我创建了一个新文件夹, /var/www/datafile,并且用
chown apache:apache datafile 更改了用户名和组,现在通过cgi可以在datafile目录中创建文件,但是删除文件和重命名的时候又报了permission denied的错误。。。

奇怪。。我还要改哪里的配置么?
作者: doiob    时间: 2012-12-05 12:31
你的问题和perl无关。系统权限问题。
作者: zjpixyniannian    时间: 2012-12-05 12:55
恩。。搞定了。。。把setenforce设为0就好了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2