• ベストアンサー

CGIでの環境変数PERL5LIBの設定

chaimasukaの回答

回答No.1

httpd サーバの設定にもよりますが、通常は、 CGIが実行されるのは、自分のユーザーIDによってではなく、 httpd サーバを実行するユーザIDです。 そのため、環境変数を自分のユーザープロファイルで設定しても、 CGIに反映されません。 CGI の記述言語はPerl のようですので、 CGIプログラムの冒頭に次の1行を記述すると、@INC に /usr/local/lib が追加されます。 use lib qw(/usr/local/lib);

JF1Msf
質問者

補足

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

関連するQ&A

  • perl niftyについて。use CGI;

    画像アップロードのスクリプトを作ろうと思っているのですが、 use CGI; という記述をすると、ここでエラーに引っかかります。 下はperl checkerでのエラー表示です Can't locate CGI.pm in @INC (@INC contains: /usr/local/lib/perl5/5.00503/sun4-solaris /usr/local/lib/perl5/5.00503 /usr/local/lib/perl5/site_perl/5.005/sun4-solaris /usr/local/lib/perl5/site_perl/5.005 .) at a.cgi line 10. BEGIN failed--compilation aborted at a.cgi line 10. 参考URLはここ http://www.topstudio.co.jp/~kmuto/html/node38.html niftyでは使えないようになってしまっているのでしょうか? また、CGI.pmを使わないファイルアップロードの仕組みを解説しているサイトを知っている方がいたら、教えてくださいませ。

    • ベストアンサー
    • CGI
  • 環境変数の設定(PATH)

    今、環境変数の設定(PATHの設定)を行っています。 OSは、RedHat9です。 スーパーユーザーのPATHは、 echo $PATHコマンドで見ると /usr/local/sbin:/usr/bin:/home/user1/test となっている。 しかし.bash_profileをみると PATHには、/usr/local/sbin:/usr/binしか 設定しておらず、 ユーザー(user1)の.bash_profileにも /home/user1/testをPATHに設定していない。 どこかでPATH設定を行っていると思いますが わかりません。 PATHの設定は、.bash_profileを設定するとは わかっているのですが、 スーパーユーザーの.bash_profileの記述と echo $PATHで見たPATHの構成がことなるのは なぜでしょうか? よろしくお願い致します。

  • perlのモジュールについて

    Linuxを使って間もない者です.xamppをLinuxにインストールしたのですが、モジュールの格納場所が違っているせいかうまくCGIスクリプトがうまく実行できません. Linux上でのperlモジュールの格納場所を教えていただけないでしょうか? 以下エラー内容 Can't locate JSON/PP.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/i386-linux-thread-multi /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi 省略・・ /usr/lib/perl5/vendor_perl/5.8.6 //usr/local/lib/site_perl/5.8.2/i386-linux-thread-multi /usr/local/lib/site_perl/5.8.2 /usr/local/lib/site_perl .) at (eval 4) line 3.

  • cgi-lib.plのReadParse関数

    あるパールからcgi-libを呼び出して、ReadParse関数を使おうとするとInternal Server Errorがでてしまいます。 パールの中身は #!/usr/local/bin/perl require 'cgi-lib.pl'; require 'jcode.pl'; &ReadParse(*in); です。 そこで3行目と5行目の行頭に#をつけて飛ばすとパールは正常に動きます。 これってcgi-lib.plのReadParse関数がいけないんでしょうか? ダウンロードしたまま何も変更していないのに..... ちなみにサーバーのパールのバージョンは5.004のようです。

    • ベストアンサー
    • CGI
  • 環境変数の設定

    パスの設定で、$ echo PATH=$PATH:/tmpや ~/.bashrcというファイルに↑を書いて$ echo PATHで設定の反映などを確認しましたが、.bash_profileというファイルにはPATH=$PATH:/tmpを書いて、別端末を開いて $ echo PATHをやっても設定の反映が確認できません。 .bash_profileでパスの設定が可能らしいのですが、確認方法や設定の方法が間違っていると思ったので教えて下さい。

  • JAVAの環境変数が初期化されてしまいます

    Linux初心者です。 JDK6.0をインストールして、環境変数を次のように設定しました。 export JAVA_HOME=/usr/local/jdk1.6.0 export PATH=$JAVA_HOME/bin:$PATH これで一旦はjavacやjavaコマンドが使えるようになるのですが、 bashを再起動すると、また使えなくなるので再設定しなければなりません。 調べてみた所、homeディレクトリの.bash_profileを変更すると 再設定の必要がなくなると書いていたので、 # set PATH so it includes user's private bin if it exists if [ -d ~/bin ] ; then PATH=~/bin:"${PATH}" → export JAVA_HOME=/usr/local/jdk1.6.0 → export PATH=$JAVA_HOME/bin:$PATH fi と記述してみたのですが、やはりbash再起動後のPATHに 上記のパスは含まれていません。 私の記述方法が間違っているのでしょうが、 どうすれば自動的にパスを通すように設定できるのでしょうか? ターミナルはubuntu6.10からGNOME端末を使用しています。 よろしくお願いします。

  • MovableType5のエラー文を教えて下さい。

    お世話になります。ご質問させてください。 OCNのスタンダードプランにMovabletType5.02をFTPでアップロードしてmt.cgiにアクセスしました。ログインをクリックすると下記のエラー文が表示されます。エラー文はどのような意味なのでしょうか?また、解決方法をご存知の方は教えて下さい。 ちなみにmt-check.cgiにアクセスすると500エラーが表示されます。 パーミションを変更しても500エラーが表示されます。 他のサーバーにはMTを何回もインストールして設定したこともあります。 宜しくお願い致します。 Got an error: Can't locate Encode.pm in @INC (@INC contains: /usr/home/○○○/www/htdocs/mt/extlib lib /usr/local/lib/perl5/5.6.1/i386-freebsd /usr/local/lib/perl5/5.6.1 /usr/local/lib/perl5/site_perl/5.6.1/i386-freebsd /usr/local/lib/perl5/site_perl/5.6.1 /usr/local/lib/perl5/site_perl/5.6.0/i386-freebsd /usr/local/lib/perl5/site_perl/5.6.0 /usr/local/lib/perl5/site_perl/5.005/i386-freebsd /usr/local/lib/perl5/site_perl/5.005 /usr/local/lib/perl5/site_perl .

    • ベストアンサー
    • CGI
  • Can't locate...

    こんにちは。Perl初心者で、 ネット上のPerlのサンプルプログラムを動かそうとしましたが 以下のようにエラーがでて実行できません。。 Can't locate Lingua/JA/Romanize/Japanese.pm in @INC (@INC contains: ./ /usr/local/lib/perl5/5.00504/i686-linux /usr/local/lib/perl5/5.00504 /usr/local/lib/perl5 /site_perl/5.005/i686linux /usr/local/lib/perl5/site_perl/5.005 .) at object.cgi line 4. BEGIN failed--compilation aborted at object.cgi line 4. これはどういったエラーで、どうすれば解決しますか。 教えてください。

  • CGI Perlについて

    低レベルな質問で恐れ入ります。 Perlのパスがサーバーのサイトで …/usr/local/bin/perl となっているのですが #!…/usr/local/bin/perl でしょうか? #!/usr/local/bin/perl でしょうか?

  • CGI初心者です。設置したいのですがperl5?

    CGI初心者です。あるCGIを設置したいのですが、もしかしてこれはperl5が必要になるんじゃないかと悩み始めました。 というのも、CGI本体は動かず、サポート掲示板にはperlのヴァージョンが低くて使えなかったという発言もありました。 本来はサポート掲示板でお話しする義だとは思うのですが、管理人さんが忙しいのか、先日から書き込みをなさっていません。 エラー報告スクリプトを設置してブラウザで何のエラーが出ているのか見てみました。 以下のような記述です。みなさんにはHTMLソースではないかという人もいますが、私にもそう見えますが、エラー報告スクリプトで出るのはこの表示だけなんです。 CGIスクリプトはKENTさんのYYBBSで、それの設置は手軽にできましたが、スパム対策用のこちらの掲示板はうまくできませんでした。 わかる方いらっしゃったら教えてください。不勉強ですみません。 -------------- Can't locate ./registpl.cgi in @INC (@INC contains: /usr/local/lib/perl5/5.8.9/BSDPAN /usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/mach /usr/local/lib/perl5/5.8.9 .) at ./yybbs.cgi line 56. Content-type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Content-Style-Type" content="text/css"> <STYLE type="text/css"> <!-- body,td,th { font-size:13px; font-family:"MS UI Gothic, Osaka, MS Pゴシック"; } a { text-decoration:none; } a:hover { text-decoration:underline; color:#DAA520; } .n { font-family:Verdana,Helvetica,Arial; } .b { background-color:#FFFFFF; color:#B8860B; font-family:Verdana,Helvetica,Arial; } .f { background-color:#FFFFFF; color:#B8860B; } --> </STYLE> <title>YY-BOARD v5.8 antispam edition v7.7.2 (BBSantispam.pm version 2.1 (2006/09/11)) (設置に関する質問は改造版配布元の掲示板まで)</title></head> <body background="./img/hane_w4.png" bgcolor="#000000" text="#EEE8AA" link="#EEE8AA" vlink="#DAA520" alink="#DAA520"> <font color="#FFFFFF" face="Verdana,Helvetica,Arial">000001</font><br>

    • ベストアンサー
    • CGI