让apache2以cgi方式运行perl cgi程序的实现方法
发布时间:2023-08-15 18:02:57
1、linux系统一般自带perl
可运行程序在:/usr/bin/perl
2、perl测试程序
#!/usr/bin/perl -w
use warnings;
print "Hello, Perl works! ";
命名为test.pl
在终端下,定位到该目录,输入perl test.pl,perl正常工作的话,会显示输出
Hello, Perl works!
3、让apache2以cgi方式支持perl
a. apache2安装完成之后,
配置文件位于/etc/apache2目录下,主要是apache2.conf。
但是修改的时候主要可以修改sites-available下面的default;
修改完成之后重启apache2,需要输入/etc/init.d/apache2之后添加参数stop, start, restart。
b. 修改apache2的配置文件使得其以cgi方式支持perl
修改sites-available下的default中的
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
AllowOverride all
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
设置目录/cgi-bin/对应的为/var/www/cgi-bin/
(即http://localhost/cgi-bin/目录下为cgi脚本)
同时修改AllowOverride, Options, Order, Allow等如上。
还可以添加
AddHandler cgi-script .cgi .pl
自定义支持的后缀(默认情况下支持cgi和pl后缀)
4、编写cgi测试程序
cgi_test.pl
#!/usr/bin/perl -w
use warnings;
use CGI qw(:standard);
#! must use 'my' to define a variable
print header;
my $now_string = localtime();
print "<b>Hello, CGI using Perl!</b><br/>It's $now_string NOW!<br />";
注意:
a. 需要将该cgi_test.pl程序copy到/var/www/cgi-bin/目录下
b. 还需要修改程序cgi_test.pl的权限,否则会出现如下类似错误:
(13)Permission denied: exec of '/var/www/cgi-bin/cgi.pl' failed
sudo chmod 755 cgi_test.pl
5、综上,按照上面介绍的方法:
a. perl程序在Linux下运行正常。
b. apache2以cgi支持perl cgi程序
遇到错误可以查看,apache2的erro日志文件,位于 /var/log/apache2/error.log 进一步查询和排除错误。
c. 另一个方面,对于cgi的perl程序可以先写好,在命令行下perl cgi_test.pl查看是否程序本身有错。
如果没有错,就可以完全将问题定位成apache2对perl cgi程序的支持问题。
猜你喜欢
- 本文实例讲述了JS实现字符串转驼峰格式的方法。分享给大家供大家参考,具体如下:实现效果如:border-bottom-color =>
- 传递函数创建传递函数有两种方式:import control as ctrl# 方式 1s = ctrl.tf('s')sy
- 固定路由的面包屑导航我们在配置router的时候,可以将面包屑数据配置在meta中,例如路由配置:{ path: '/p
- python实现原图裁剪为固定尺寸小图的具体代码,供大家参考,具体内容如下讲解1、代码效果:实现原图裁剪为固定尺寸小图代码import nu
- var chars = ['0','1','2','3','4
- 方法一: 1、在DOS窗口下输入net stop mysql5 或 net stop mysql 2、开一个DOS窗口,这个需要切换到mys
- F.avg_pool1d()数据是三维输入input维度: (batch_size,channels,width)channel可以看成高度
- 微信小程序中的云开发想必大家还不是很熟悉,因为云开发也就是9月份上线的,相比之前大家对于数据库的存储都是用的是自己的服务器,接下来这篇文章主
- 这篇文章不谈大道理,只谈细节。关于facebook的大道理,大家可以去海内网的帖子《谁去救救麦田老师吧》讨论。那里有很多IT评论高手,谈的很
- SQL Server常见的问题主要是SQL问题造成,常见的主要是CPU过高和阻塞。一、CPU过高的问题1、查询系统动态视图查询执行时间长的s
- requests 是一个非常小巧全面的库,应用它可以很容易写出与服务器进行交互的程序,今天遇到了一个问题,与服务器交互时,url都是http
- Mysql的分页的两个参数select * from user limit 1,21表示从第几条数据开始查(默认索引是0,如果写1,从第二条
- select serverproperty('productlevel') 如果没有打过SP,则为RTM,否则显示的是SP版
- 常见的几种分页方式:1.扶梯方式扶梯方式在导航上通常只提供上一页/下一页这两种模式,部分产品甚至不提供上一页功能,只提供一种“更多/more
- 作为一款「写作软件」在诞生之初就支持了 Markdown,Markdown 是一种「电子邮件」风格的「标记语言」,我们强烈推荐所有写作者学习
- 每次卷积神经网络训练的结果都只保存了最后一部分,查阅了一下相关资料,发现是定义saver时采用的默认值,这里进行如下设置: saver =
- 经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中
- while循环:while expression: suite_to_repeatwhile 条件: 语
- 如下所示:# 创建一个空的 DataFramedf_empty = pd.DataFrame()#或者df_empty = pd.DataF
- 问题:mysql:1130 is not allowed to connect to this MariaDB server(没有远程登录权