免费注册 查看新帖 |

Chinaunix

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

CGI 文件读写问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-20 16:57 |只看该作者 |倒序浏览
我有个CGI 程序一直运行好好的! 最近发现 open (OUTFILE, ">$temp_file");文件处理无法写入。我在shell下运行$temp_file可以写入,但通过web 浏览就不行,CGI已经把$config_file读出,但生成不了$temp_file这个文件。文件的权限我已经设过了!有谁碰到过这个问题??? 是不是apache执行权限问题??
   代码如下
        my $temp_file="/c/tftp/.config.txt";
          system "touch '$temp_file'";
        chmod 0777, $temp_file;
        open (INFILE, $config_file);
        open (OUTFILE, ">$temp_file");
        while (<INFILE>) {
                #chomp;
                if (($_ =~ "Revision_Code=") && !($DB{SYSVER} eq "")) {
                        #print OUTFILE "# Revision_Code=\"$DB{SYSVER}\"\n";
                        #next;
                        #$_= "# Revision_Code=\"$DB{SYSVER}\"";
         s/\".*\"/\"$DB{SYSVER}\"/;
                }
                if (/^.INIT_FLASH/)      {if ($DB{BURN} eq "on")   { s/^./ /; } else { s/^./#/;}}
                if (/^.CONF_VPD/)        {if ($DB{CONF} eq "on")   { s/^./ /; } else { s/^./#/;}}
                if (/^.CONF_FEA/)        {if ($DB{FEA}  eq "on")   { s/^./ /; } else { s/^./#/;}}
                if (/^.PRO_MODE/)        {if ($DB{MODE} eq "PRO")  { s/^./ /; } else { s/^./#/;}}
                if (/^.HOME_MODE/)       {if ($DB{MODE} eq "HOME") { s/^./ /; } else { s/^./#/;}}
                if (/^.REWORK_DISKLESS/) {if ($DB{REWORK} eq "DISKLESS")   { s/^./ /; } else { s/^./#/;}}
                if (/^.TEST_DIS/)        {if ($DB{TEST} eq "on")   { s/^./#/; } else { s/^./ /;}}
                if (/^.GSA/)             {if ($DB{GSA} eq "GSA")   { s/^./ /; } else { s/^./#/;}}
                if (/^.ERASE_IMG/)       {if ($DB{GSA} eq "GSA")   { s/^./ /; } else { s/^./#/;}}
                if (/^.ERASE_X86IMG/)    {if ($DB{GSA} eq "GSA")   { s/^./ /; } else { s/^./#/;}}
                foreach my $test (@tests) {
                    if ($_ =~ $test) {
                                if ($DB{$test} =~ "on") { s/^.*DIS/# DIS/; }
                                else { s/^.*DIS/ DIS/; }
                    }
                }
                print OUTFILE;
        }
        close (INFILE);
        close (OUTFILE);

        #if (-e $temp_file) {
           chmod 0777, $temp_file;
           system "cp '/c/tftp/config.txt' '/c/tftp/bin/config.sav'";
           system "cp '$temp_file' '/c/tftp/config.txt'";
           show_error("Can not copy config.txt.") if ($? != 0);
               #unlink "$temp_file";
                 #}

论坛徽章:
0
2 [报告]
发表于 2010-12-20 17:01 |只看该作者
顺便说一下 我的是 apache 1.3 我把 /c/tftp设成了chown nobody:nogroup 都不行

论坛徽章:
0
3 [报告]
发表于 2010-12-20 17:11 |只看该作者
问题解决了 搜了下帖子 看了下,还是文件夹权限问题 /c/tftp这个文件夹权限一定要和httpd.conf里面的一致!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP