0

MARS (Multi Access Reporting Service) と呼ばれるレポート ツールに取り組んでいます。SQLサーバー経由でレポートを読み込むツールです。すべて正常に動作するローカル マシン テスト環境のセットアップがありますが、Windows Server 2008 にアップロードすると、「必要な」ファイルを見つけたくないようです。サーバーで Perl (v5.14.2) を実行し、デスクトップ/ローカルで古いバージョンを実行しています。

私が受け取っているエラーは次のとおりです: *HTTP エラー 502.2 - ゲートウェイが正しくありません 指定された CGI アプリケーションは、HTTP ヘッダーの完全なセットを返さないため、誤った動作をしました。返されたヘッダーは、「@INC で jsdb.pl が見つかりません (@INC には次が含まれます: /Inetpub/Scripts /Inetpub/Scripts/Security c:/Perl/site/lib c:/Perl/lib .) at \ gl-0185-nas07p\MCL_Dev_MPN_GL\Green_App\MARS\Scripts\Security\security.pl 行 7. ".*

これは Security.pl ファイルのヘッダーで、設定されたパスとファイルが明確に含まれています。

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";

JSDB ファイル内には、システムのユーザーをセットアップおよび変更するために使用される「プロファイル」タブのコードがあります。

私たちはそれについて頭を悩ませることができないように見えるので、どんな助けも本当に感謝しています.

4

2 に答える 2

0

はどこjsdb.plですか?/Inetpub/Scripts/Securityあなたのソースファイルから、Windowsパスのように見えない場所にあると思います。

推測では、Windows Server マシンにのみC:/Perl/site/lib存在 C:/Perl/libし、他のパスはそのマシンで異なるかjsdb.pl、そこからアクセスできないだけです。

use strictまた、コードの先頭でandを使用していないようuse warningsで、ライブラリを使用する方法はrequire 'library.pl'非常に優れている可能性があります

于 2012-09-03T20:06:32.847 に答える