解決済み

CGIでの環境変数PERL5LIBの設定

  • 暇なときにでも
  • 質問No.3543374
  • 閲覧数1855
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 56% (201/354)

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

質問者が選んだベストアンサー

  • 回答No.2

ベストアンサー率 57% (26/45)

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

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

SetEnv PERL5LIB /usr/local/lib
お礼コメント
JF1Msf

お礼率 56% (201/354)

httpdはapache2です。
ありがとうございました。
これこそ、教えていただきたかった情報です。
投稿日時 - 2007-12-01 10:26:43
Be MORE 7・12 OK-チップでイイコトはじまる

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 57% (26/45)

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

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

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

use lib qw(/usr/local/lib);
補足コメント
JF1Msf

お礼率 56% (201/354)

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

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ