Клубничный Perl и IIS, казалось бы, настроены, но 404 страницы получены - PullRequest
0 голосов
/ 25 февраля 2019

Я просматривал несколько сообщений на эту тему, но я все еще в замешательстве.Strawberry Perl и IIS 8 установлены на нашем сервере Windows 2012 R2.Я знаю, что добавить Strawberry Perl.exe в ISAPI и CGI Restrictions , и, наконец, исправил мою ошибку (более раннее редактирование этого поста) в списке DL).Вы можете использовать .exe, а не просто DLL, поэтому я указал путь к perl.exe из Strawberry Perl.IIS 8 Menu

Редактировать 26.02.2009: По запросу, здесь находится первая часть Select.pl, которая указана в документах по умолчанию:

#!/usr/local/bin/perl -w
# Permit/Web/Select.pl
# -*- tab-width: 8 -*-

use strict;
use warnings;
use lib qw( ../../include ./include );
use DbArgs;
use DBI;

######################################################################
# Prototypes
#
sub main();
sub HTMLPermitTypeRow($);
sub HTMLPermitClassRow($);
sub jsQuote($);

######################################################################
# Globals
#
my $HTML_ROOT_DIRECTORY     = DbArgs::HTMLRootDirectory();
my $debugging               = 0;

# start with Sunday to align with localtime order 0 to 6
#
my @weekdays                 = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday);

# work Mon-Fri no holidays
#
my @previousworkdays        = qw(Friday Friday Yesterday Yesterday Yesterday Yesterday Friday);

my %input;

main();
exit(0);

######################################################################
#   main
#
sub main() {
    my $header;
    my $footer;
    my $inspectorsrow;
    my $today;
    my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst )= localtime( );
    my $inspected = $previousworkdays[$wday];

    %input  = DbArgs::ParseArgs();

    print "Content-type: text/html\n\n";

    # define required input
    # not defining optional input inspected, permittype, permitclass, reportformat
    #
    foreach ( qw( address contractor description inspector issue issue_thru owner ) ) {
        $input{$_} = '' unless defined $input{$_};
    }

    my $hiddenfields = '';
    foreach my $fieldname ( sort keys %input ) {
        my %definedFields = ( 'address'     => ''
                    , 'contractor'  => ''
                    , 'description' => ''

Существует пул разрешений, который входит в систему как администратор, а приложение разрешений использует пул разрешений.

У меня есть файл Select.pl, указанный в качестве документа по умолчанию, и загружен обработчик cgi.

Когда я пытаюсь дозвониться до http://locahost/permits или http://locahost/permits/Select.pl,, я получаю 404, но не могу найти в журналах событий, событий или IIS ничего, что даст мне подсказку о том, что происходитнеправильно.Любые указатели будут оценены.

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Я в итоге получил работу нового веб-сайта на основе полезной и ценной информации из ответа и комментариев к ОП здесь, а также некоторой информации в этой ссылке , отмеченной в @ SlawomirDziuba'sответ.

Моя самая большая проблема заключалась в выборе правильного обработчика, и, чтобы запустить его на IIS8, мне понадобилась карта сценариев, а не модуль CGI.Я также установил Strawberry Perl в C: \ Perl, поскольку в любом случае в системе нет другого Perl.

0 голосов
/ 15 марта 2019

Можете ли вы запустить любой HTML-файл?Если это так, поместите рядом с ним простой скрипт на Perl и вызовите его.print "Content-type: text / html \ n \ n";выведите «OK»;

Если это работает, проблема в вашем скрипте.Если это не работает, возможно, у вас неправильные настройки.

Проверьте это на http://gdavidcarter.blogspot.com/2016/04/installing-perl-on-windows-2012r2-iis-85.html, как уже писал Яннес Ботис.

У меня нет IIS, и я не могу проверить, но, начиная с версии 8, мне, вероятно, не нужны кавычки вC: \ Perl \ bin \ perl.exe% s% s (в отличие от предыдущих версий, где это необходимо)

...