2

我正在开发一个 PHP 网站,但我正在使用 Perl CGI 进行文件上传。

我已经在 WAMP 下安装了 ActivePerl。

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

我怎样才能做到这一点?

4

2 回答 2

6

我最近为 Localhost 上的 Movable Type 研究 Perl 和 CGI​​,所以我在使用 Wamp Server 设置 Perl 和 CGI​​ 方面做了几个步骤。我希望这可能有用。

第一步: 首先你需要从 www.wampserver.com 下载 Wamp Server 并在你的机器上安装 Wamp Server。默认安装目录是“C:\wamp”,这里我使用默认选项进行安装。要完成安装,您必须设置邮件服务器的主机名和电子邮件地址,在这里您可以再次保留默认选项。那不会有任何害处。

当前的 Wamp Server 将安装 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​​ 脚本。

Step3: 这是这里最重要的部分。您需要编辑 Apache 配置文件。现在转到“C:\wamp\bin\apache\Apache2.2.11\conf”目录并打开“httpd.conf”文件。编辑 httpd.conf 文件,如下所示。

1.在 httpd.conf 中,寻找写有“”的行,在它下面几行你会发现写着“Options Indexes FollowSymLinks”的行。在与 FollowSymLinks 相同的行中添加“Includes ExecCGI”,因此它将变为:

  • 选项索引 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脚本.pl

AddHandler cgi-script .cgi AddHandler cgi-script .pl

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 包存储库中没有 mysql 驱动程序模块。因此,您需要添加额外的存储库并从该存储库安装。请按照以下步骤操作:

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

我们将不得不修改我们所有 cgi 文件的一些设置,我们必须修改所有你得到的 cgi 文件,因为它们通常会指向 perl,比如“<strong>#!/usr/bin/perl”,但我们没有Windows 中的约定。更改只是在 CGI 文件的第一行,所以应该很容易。将 cgi 文件中对 perl 的任何引用更改为当前位置。请记住,如果您在 perl 安装期间没有启用环境变量路径,则必须提供完整路径,例如“<strong>c:\perl\bin\perl.exe”,但如果您在环境变量中提供了路径,您可以简单地执行“<strong>perl.exe”,因此我们的大多数 cgi 文件的第一行都是“<strong>#!perl.exe -w”,但没有引号。

于 2014-01-24T11:41:27.940 回答
0

根据您的网络服务器,在 W(in) 上它通常是 IIS。

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

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

最好的祝愿!

于 2013-03-02T20:04:36.910 回答