0

私はperlスクリプトを持っています

#!/usr/bin/perl
use strict;
use lib 'lib';
use SOME_MOD;

それは私の古いサーバーで動作します。新しいサーバーでは、次のような絶対パスでのみ機能します

#!/usr/bin/perl
use strict;
use lib '/var/www/apps/myapp/lib';
use SOME_MOD;

何が恋しいですか?

4

2 に答える 2

3

のディレクトリ@INCは常に現在の作業ディレクトリに対して相対的ですが、一部の Web サーバーは cwd を に設定します/。スクリプトが存在するディレクトリに相対的なパッチが必要な場合は、次を使用できます

use FindBin qw( $RealBin );
use lib "$RealBin/lib";

または、追加したいディレクトリが$RealBin/libまたはであるため、 mylib$RealBin/../libを使用できます。

use mylib;
于 2013-09-30T14:13:33.740 に答える
1

mod_perl の cwd は、スクリプトの場所と同じではありません。相対パス解決は、Web サーバーが Perl CGI スクリプト サポートで構成されている場合に機能します。

于 2013-11-07T16:09:05.607 に答える