プロが教えるわが家の防犯対策術!

自分の ~/.bash_profile で、
export PERL5LIB=/usr/local/lib
というように設定しているのですが、
CGIではこれが反映されていません。
どこでPERL5LIBを設定すれば、
/usr/local/lib が
@INCに組み込まれるようになるのでしょうか?

A 回答 (2件)

httpd サーバの種類は、何でしょうか。



Apache ならば、httpd.conf で、
SetEnv ディレクティブによって環境変数を設定すればよいと思います。

SetEnv PERL5LIB /usr/local/lib

参考URL:http://httpd.apache.org/docs/2.2/mod/mod_env.htm …
    • good
    • 0
この回答へのお礼

httpdはapache2です。
ありがとうございました。
これこそ、教えていただきたかった情報です。

お礼日時:2007/12/01 10:26

httpd サーバの設定にもよりますが、通常は、


CGIが実行されるのは、自分のユーザーIDによってではなく、
httpd サーバを実行するユーザIDです。

そのため、環境変数を自分のユーザープロファイルで設定しても、
CGIに反映されません。

CGI の記述言語はPerl のようですので、
CGIプログラムの冒頭に次の1行を記述すると、@INC に /usr/local/lib が追加されます。

use lib qw(/usr/local/lib);

この回答への補足

早々にご回答、ありがとうございました。
実は、しかたなく、
use lib "/usr/local/lib";
をスクリプトに書き入れてなんとかしていたのですが、
そのhttpdを実行するIDの環境変数を設定できないものか。
もし設定可能ならば、どのファイルで設定すればいいのかを、
教えていただきたかった次第です。
もしご存知でしたら、すみませんが、またよろしくお願いいたします。

補足日時:2007/11/30 13:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!