2013-03-02 35 views
1

我正在开发一个PHP网站,但我使用Perl CGI进行文件上传。从任何文件夹执行WAMP上的CGI程序

我已经在WAMP下安装了ActivePerl。

正如我开发的网站,我想在本地镜像该环境在Unix服务器上运行,所以我想执行WAMP的cgi-bin之外的CGI文件。

我该怎么做?

+1

不要使用两种不同的服务器端语言编写Web应用程序。 – jordanm 2013-03-02 18:16:36

+0

你的意思是* WampServer *? – Borodin 2013-03-02 19:47:28

回答

0

根据您的网络服务器,在W(中),它往往是IIS。

你可以有任何虚拟文件夹指向你的Perl脚本文件夹中。然后,您需要将c:\ Perl \ bin \ perl.exe“%s”%s设置为此文件夹的* .pl处理程序。见例如http://community.activestate.com/forum-topic/configuring-perl-iis-7-0了解详情。 (在第7项下,我认为按Yes是正确的做法)。要制作虚拟文件夹,请打开Internet信息服务(IIS)管理器,然后向下浏览到默认网站,然后右键单击并添加虚拟目录。您可能还需要为iis安装一些模块(在windows控制面板 - >应用程序&功能 - >打开功能 - > iis-> www - >应用程序 - > CGI等)

如果Apache添加* .cgi,或* .pl作为处理程序,如例如中所述http://www.thesitewizard.com/archive/addcgitoapache.shtml

最良好的祝愿!

+0

“WAMP”中的“A”用于Apache服务器。使用IIS的等效技术称为“WIMP”。 – Borodin 2013-03-02 20:54:46

+0

@Borodin:好点:-) – FtLie 2013-03-03 14:50:28

3

我对Perl和CGI的工作最近对本地主机的Movable Type,所以我在做关于建立Perl和CGI与WAMP服务器几步之遥。我希望这可能会有用。

第一步: 首先,你需要从www.wampserver.com下载WAMP的服务器和您的计算机上安装WAMP的服务器。默认的安装目录是'C:\ wamp',这里我使用默认的安装选项。要完成安装,您必须设置邮件服务器的主机名和您的电子邮件地址,在这里您可以再次保留默认选项。这不会造成伤害。

当前的WAMP服务器将安装Apache 2.2.11,PHP 5.2.9-2 + PECL中,MySQL 5.1.33,和的SQLiteManager PHPMYADMIN。

第二步: 现在,你必须从http://www.activestate.com/activeperl/downloads下载的ActivePerl(目前为5.​​10.0)并安装它。默认安装目录是“C:\ Perl”,但为了简单和易用,我使用了不同的目录。我在“C:\ wamp \ bin”中创建了一个新的文件夹名“perl”。所以我将Active Perl安装在“C:\ wamp \ bin \ perl”目录下。接下来你需要做的是配置Apache Web服务器来执行Perl和CGI脚本。

第三步: 这是这里最重要的组成部分。您需要编辑Apache配置文件。现在进入“C:\ wamp \ bin \ apache \ Apache2.2.11 \ conf”目录并打开“httpd.conf”文件。编辑httpd.conf文件如下。

1.在httpd.conf中,找到表示“”的行,在它下面几行,您会看到“Options Indexes FollowSymLinks”行。添加“Includes ExecCGI”在了FollowSymLinks同一行,因此将改变:

  • 选项指标的FollowSymLinks

而现在变成了:

  • 选项指标的FollowSymLinks包括ExecCGI

这将启用您的www文件夹中的CGI脚本。

2.现在查找“AddHandler cgi-script .cgi”这一行,注释掉这一行。您需要通过取消注释此行来启用此操作,以便删除此行开始处的#字符。这将为.cgi扩展名的文件添加处理程序。如果你想在你的服务器中使用.pl文件扩展名,在上面的行的下面添加“AddHandler cgi-script .pl”。现在您将能够使用.cgi和.pl扩展名来执行CGI和Perl脚本。

行添加

  1. AddHandler的CGI脚本的CGI
  2. AddHandler的CGI脚本。特等

AddHandler的CGI脚本的CGI AddHandler的CGI脚本。特等

3.要添加目录索引文件,请查找行“DirectoryIndex index.php index.php3 index.html index.htm”。在这一行添加index.cgi和index.pl。

行添加

1.的DirectoryIndex的index.php index.php3的index.html的index.htm的index.cgi index.pl

的DirectoryIndex的index.php index.php3的index.html index.htm index.cgi index.pl

替代方法:如果您不想浪费时间进行上述3个步骤,可以在此处下载已编辑的配置文件httpd.conf。用这个替换你的apache目录中的一个。

第4步: 您的服务器现在已配置并准备运行perl和cgi脚本。接下来你可能需要做的是配置perl来使用mysql数据库。您需要下载并安装mysql驱动程序以通过您的perl脚本启用数据库连接。您必须从ActivePerl包资源库获取驱动程序。但是,默认的ActivePerl Package Repository中不提供mysql驱动程序模块。因此,您需要添加额外的存储库并从该存储库进行安装。请按照下列步骤操作:

转到DOS命令提示符并键入“PPM”。现在输入“安装DBI”> ENTER。完成安装后,请键入“安装DBD-mysql”> ENTER。你现在应该完成。

,我们将不得不修改所有的CGI文件的一些设置,以及我们必须修改,你得到的共同所有的CGI文件,他们将指向类似Perl的“#!的/ usr/bin中/ perl的”但我们在windows中没有这个约定。这个改变只是在你的CGI文件的第一行,所以它很容易。将任何对cgi文件中perl的引用更改为当前位置。请记住,如果您在perl安装期间未启用环境变量路径,则必须提供完整路径,如“c:\ perl \ bin \ perl.exe”,但如果您已在环境变量中提供路径,你可以简单地做“perl.exe”,所以我们的大多数cgi文件的第一行为“#!perl.exe -w”,但没有引号。

+0

很高兴同时引用原始来源:http://www.tommyrodriguez.com/?p = 446您的“扩展版本”中有一些语法错误,但有帮助。 – user919426 2015-02-03 19:37:08

相关问题