记一次学习perl写CGI遇到的ERROR
2013-12-04 15:53
197 查看
初学perl写CGI,遇到N多问题,编写的脚本如下
[root@test02 learn_test]# vi hello.cgi
#!/usr/bin/perl
use cgi;
use strict;
use warnings;
print header;
print "<B> Hello,World!</B>";
perl -c hello.cgi
Can't locate cgi.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/apache/htdocs/learn_test/hello.cgi line 2.
apache 日志下输出:
Can't locate cgi.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/apache/htdocs/learn_test/hello.cgi line 2.
[Tue Dec 03 12:57:33 2013] [error] [client 192.168.1.12] BEGIN failed--compilation aborted at /usr/local/apache/htdocs/learn_test/hello.cgi line 2.
[Tue Dec 03 12:57:33 2013] [error] [client 192.168.1.12] Premature end of script headers: hello.cgi
解决办法:
从两个log message的输出信息来看是缺少了cgi.pm模块,可以手工或者自动安装cgi模块
自动安装:perl -e shell -MCPAN 之后install cgi
手工安装:http://www.cpan.org/modules/01modules.index.html 查找CGI的模块包CGI.pm-3.64.tar.gz
解压:tar zxvf CGI.pm-3.64.tar.gz
安装:cd CGI.pm-3.64
perl Makefile.PL
make
make install
这样就安装好了CGI的模块,但是使用perl -c检查时发现问题依旧
在/usr/local/perl5下,发现模块名为:FCGI.PM,并不是想象中的CGI.PM。查看perl的官方CGI模块介绍
http://perldoc.perl.org/CGI/Fast.html
使用模块为:
use
CGI::Fast
qw(:standard);
于是更改脚本语句:
#!/usr/bin/perl
use CGI::Fast qw(:standard);
use strict;
use warnings;
print "Content-type:text/html\n\n";
#print header
print "<B> Hello,World!</B>";
再使用perl -c hello.cgi ,语法正确
再通过web访问正常!
问题解决!
[root@test02 learn_test]# vi hello.cgi
#!/usr/bin/perl
use cgi;
use strict;
use warnings;
print header;
print "<B> Hello,World!</B>";
perl -c hello.cgi
Can't locate cgi.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/apache/htdocs/learn_test/hello.cgi line 2.
apache 日志下输出:
Can't locate cgi.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/apache/htdocs/learn_test/hello.cgi line 2.
[Tue Dec 03 12:57:33 2013] [error] [client 192.168.1.12] BEGIN failed--compilation aborted at /usr/local/apache/htdocs/learn_test/hello.cgi line 2.
[Tue Dec 03 12:57:33 2013] [error] [client 192.168.1.12] Premature end of script headers: hello.cgi
解决办法:
从两个log message的输出信息来看是缺少了cgi.pm模块,可以手工或者自动安装cgi模块
自动安装:perl -e shell -MCPAN 之后install cgi
手工安装:http://www.cpan.org/modules/01modules.index.html 查找CGI的模块包CGI.pm-3.64.tar.gz
解压:tar zxvf CGI.pm-3.64.tar.gz
安装:cd CGI.pm-3.64
perl Makefile.PL
make
make install
这样就安装好了CGI的模块,但是使用perl -c检查时发现问题依旧
在/usr/local/perl5下,发现模块名为:FCGI.PM,并不是想象中的CGI.PM。查看perl的官方CGI模块介绍
http://perldoc.perl.org/CGI/Fast.html
使用模块为:
use
CGI::Fast
qw(:standard);
于是更改脚本语句:
#!/usr/bin/perl
use CGI::Fast qw(:standard);
use strict;
use warnings;
print "Content-type:text/html\n\n";
#print header
print "<B> Hello,World!</B>";
再使用perl -c hello.cgi ,语法正确
再通过web访问正常!
问题解决!
相关文章推荐
- 配置python学习环境遇到的问题:[Decode error - output not utf-8]
- Python学习笔记:学习爬虫时遇到的问题TypeError: cannot use a string pattern on a bytes-like object 与解决办法
- Python学习爬虫时遇到的问题TypeError: cannot use a string pattern on a bytes-like object
- Perl/CGI脚本语言编程学习资源下载地址大全
- (记录学习android遇到的问题)Error:Execution failed for task ':app:packageDebug'. > Failed to create
- 记一次Maven远程部署到tomcat所遇到的Bug:java.net.SocketException: Connection reset by peer: socket write error
- 学习Python csv模块遇到AttributeError: module 'csv' has no attribute 'writer'和写入后出现空格问题
- 遇到的问题---Windows socket error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次
- 【学习Android遇到的错误】conversion to dalvik format failed with error 1的解决办法汇总
- 遇到的问题---Windows socket error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次
- perl+cgi学习
- error: interface type cannot be statically allocated 学习object-c的时候遇到的小问题
- Perl/CGI脚本语言编程学习资源下载地址大全
- Perl: Perl/CGI脚本语言编程学习资料及开发工具下载大全 (2013-3-9更新)
- JMeter学习 JMeter使用中遇到的问题:Jmeter Debug - "Unrecognized VM option '+HeapDumpOnOutOfMemoryError"
- Git学习 -- 远程操作遇到error: failed to push some refs to问题解决方法
- TypeError: this constructor takes no arguments(Python 学习遇到的错误1)
- Apache CGI Perl error encountered and resolved
- [神经网络与深度学习][计算机视觉]SSD编译时遇到了json_parser_read.hpp:257:264: error: ‘type name’ declared as function ret
- 学习javaweb过程中遇到的一些小error