Perl Script findet keine file über den eingestellten Pfad

Ich arbeite an einem Reporting-Tool namens MARS (Multi Access Reporting Service). Dies ist ein Tool, das Berichte über einen SQL server liest. Wir haben eine lokale Maschinentestumgebung, die alles gut läuft, aber wenn wir auf den Windows server 2008 upload, scheint es nicht, eine "benötigte" file zu finden. Wir laufen Perl (v5.14.2) auf dem server und eine ältere Version auf dem Desktop / lokal.

der Fehler, den ich empfange, ist: * HTTP-Fehler 502.2 – Bad Gateway Die angegebene CGI-Anwendung wurde durch die Rückgabe eines vollständigen Satzes von HTTP-Headern missbraucht. Die Header, die es zurückgegeben hat, können "jsdb.pl in @INC nicht finden (@INC enthält: / Inetpub / Scripts / Inetpub / Scripts / security c: / Perl / site / lib c: / Perl / lib.) Bei \ gl-0185-nas07p \ MCL_Dev_MPN_GL \ Green_App \ MARS \ Scripts \ security \ security.pl Zeile 7. ". *

Hier ist der Header auf der Security.pl-file, die eindeutig den eingestellten Pfad und die file darin hat:

use CGI qw/:standard *table start_ul/; use Date::Calc; use Win32::ODBC; use POSIX qw(floor); ### use lib "/Inetpub/Scripts/Security"; require "jsdb.pl"; ### require "javascript.pl"; require "SecurityUtils.pl"; use lib "/Inetpub/Scripts"; require "webpageutils.pl"; 

Innerhalb der JSDB-file ist der Code für die Registerkarte "Profile", die zum Einrichten und Ändern von Benutzern des Systems verwendet wird.

Jede mögliche Hilfe ist wirklich geschätzt, da wir nicht scheinen können, unsere Köpfe um es zu erhalten.

Sie scheinen unempfindlich gegenüber Groß- / Kleinschreibung zu sein, dh in der file ist es als jsdb.pl aufgeführt und in Ihrer Frage identifizieren Sie es als JSDB. Auch die Fehlermeldung identifiziert die beleidigende file als security.pl, aber deine Frage nennt es Security.pl. Perl ist case sensitive. Ist es möglich, dass dies ein Faktor sein könnte, zB die file jsdb.pl heißt eigentlich JSDB.pl?

Wo ist jsdb.pl ? Von deiner Quelldatei würde ich vermuten, dass es in /Inetpub/Scripts/Security die nicht wie ein Windows-Pfad zu mir aussieht.

Bei einer Vermutung gibt es nur C:/Perl/site/lib und C:/Perl/lib auf deinem Windows server-Rechner und die anderen Pfade sind auf dieser Maschine unterschiedlich oder du hast einfach keinen Zugriff auf jsdb.pl von dort

Auch scheinen Sie nicht zu verwenden use strict und use warnings an der Spitze Ihres Codes, und Ihre Methode der Verwendung von Bibliotheken durch require 'library.pl' könnte sehr viel besser sein