Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用perl cgi将输入的数据存储在文本文件中?_Perl - Fatal编程技术网

使用perl cgi将输入的数据存储在文本文件中?

使用perl cgi将输入的数据存储在文本文件中?,perl,Perl,我已经在我的手臂上安装了一个boa服务器。现在我正在写一个cgi脚本,在这个脚本中,我可以从其他Pc上的用户那里获得一些数据,但在同一个网络上,并将其保存在我arm中的文本文件中 这是我的CGI文件,要将数据存储在文本文件中,我需要使用use CGI来获取输入的数据,但是当我在这段代码上取消注释时,我得到错误502错误网关CGI不符合CGI/1.1。需要帮助 #!/usr/bin/perl use strict; use warnings; #use CGI; print "Content-ty

我已经在我的手臂上安装了一个boa服务器。现在我正在写一个cgi脚本,在这个脚本中,我可以从其他Pc上的用户那里获得一些数据,但在同一个网络上,并将其保存在我arm中的文本文件中

这是我的CGI文件,要将数据存储在文本文件中,我需要使用use CGI来获取输入的数据,但是当我在这段代码上取消注释时,我得到错误502错误网关CGI不符合CGI/1.1。需要帮助

#!/usr/bin/perl
use strict;
use warnings;
#use CGI;
print "Content-type: text/html\n\n";
#open (MYFILE, '>>guestbook.txt');
#  print MYFILE "1111111\n";
# close (MYFILE);
print <<"EOF";
<HTML>
<HEAD>
<TITLE>Hello, world!</TITLE>
<p id="demo"></p>
<script type="text/javascript">
function copyText()
{
document.getElementById("field2").value=document.getElementById("field1").value;
document.getElementById("demo").innerHTML = Date();
}
</script>
</HEAD>
<BODY>
<H1>Hello,</H1>
Enter Email Address: <input type="text" id="field1" value="Hello1 World!"><br>
Field2: <input type="text" id="field2">
<br><br>
<button onclick="copyText()">Copy Text</button>
</BODY>
</HTML>
EOF
502网关错误CGI不符合CGI/1.1

通常,此错误是由于权限引起的。尝试向其他人添加读取和执行访问权限

chmod o+rx yourscript.cgi

检查cgi脚本的文本,查看它是使用unix行结尾\n还是使用dos/windows行结尾\r\n

您可以在shell中执行此操作:

 $ od -c mycgiscript.pl
如果您发现您的文件充满了windows行结尾,请执行以下操作:

 $ tr -d '\r' mycgiscript.pl > /tmp/mycgiscript.pl
 $ cp /tmp/mycgiscript.pl mycgiscript.pl
 $ rm  /tmp/mycgiscript.pl

确保读取/执行位不会被重置,然后再次尝试运行脚本。

非常感谢,实际上我检查了错误日志,发现我的一些perl模块丢失了。现在它开始工作了

我的CGI文件的权限是正确的。仅通过添加USE CGI,我就知道了坏网关错误。发生这种情况时,您的错误日志中是否有任何消息?