httpd.conf

kasuさんの助言に従って試してみる。

  • ”PassEnv PERL5LIB”

httpd.confに加えて、apacheを再起動。しかし、環境変数に変化はおこりません。実はこの方法、先日も試したのですがうまくいきませんでした。一度、うまくいったように思ったのですが、その後再現できませんでした。

  • ”SetEnv PERL5LIB /sw/lib”

httpd.confに加えて、apacheを再起動。
PERL5LIB --> /sw/lib/
が反映されています。だが、cgiからGDは呼び出せません。error.logを見ると@INCには上記ディレクトリが含まれていました。そこでGD.pmのあるディレクトリを直接指してみました。
SetEnv PERL5LIB /sw/lib/perl5/5.6.0/darwin
これはうまくいきました。ブラウザからGD.pmを使うcgiを実行できました。直接指定しか効かないのかと思ったのですが、
SetEnv PERL5LIB /sw/lib/perl5
SetEnv PERL5LIB /sw/lib/perl5/5.6.0
でも、うまくいきました。
@INCは%ENVでセットされたディレクトリの2階層下まで見にいく設定になっているということなのでしょうか。

PassEnvが効かないのが何故かわかりませんが、一応これで解決しました。

ありがとうございました。>kasuさん、Cortelさん