【问题标题】:Write data to a file using CGI-perl使用 CGI-perl 将数据写入文件
【发布时间】:2013-12-29 05:26:44
【问题描述】:

我在使用 CGI 将数据写入文件时遇到问题。代码如下:

#!/usr/bin/perl
use strict;
use warnings;
use CGI ":standard";

print "Content-type:text/html \n\n";

open (FILE, '>', "file.txt") or die ("Could not open the file for writing...$!");
print FILE "something";
close(FILE);

上面的代码给出了以下错误: “无法打开文件进行写入.../var/www/cgi-bin/wfile.cgi 第 8 行的权限被拒绝。 文件的读写权限已经设置...请帮忙!!!

【问题讨论】:

  • 也适用于www-user?目录权限也是?
  • "文件的读写权限已经设置" — 什么? Web 服务器以什么用户身份运行脚本?

标签: perl


【解决方案1】:

perl 脚本将以 apache/httpd/whatever 运行的用户身份运行。您需要确保该目录和文件可由该用户写入。为什么不先写信给/tmp/

【讨论】:

  • 是的,最好的方法是一步一步的,在这里...问题可能是缺少 http 服务器用户写入该文件的权限...不幸的是检测方法http服务器用户名取决于linux发行版,问题中没有指定...
  • 是的..它现在可以工作了...但是是否可以将其重定向到另一个目录中的文件...?
  • 当然,您在open() 调用中指定要打开哪个文件。
猜你喜欢
  • 1970-01-01
  • 2019-05-14
  • 2021-02-13
  • 2010-12-27
  • 2011-07-10
  • 2013-09-26
  • 1970-01-01
  • 1970-01-01
  • 2012-08-26
相关资源
最近更新 更多