Apacheの環境変数のPATHを変えられなかった

| | トラックバック(0)

うーん、できなかった。

せっかくplenvで別バージョンのPerlを入れても、ApacheのCGIで実行しているPerlは systemのPerlを使う。

いろいろ調べて、Apacheの環境変数のPATHを変えれば、plenvが指し示すPerlを読みに行くんじゃないかということになった。

どうやって変えるか調べていて、最初はenvvarsというファイルがあって、そこを書き変えればいいのかと思ったが、自分のMacにはenvvarsというファイルがない。Macのデフォルトapacheだとそのファイルで設定するのではないらしい。

Macはplistにその設定が書いてあるらしい。

でも、plistをいじるのやだなあ・・・と思ってとりあえず後回し。

.htaccessファイルを置いて、そのなかに

SetEnv HOGEHOGE hugahuga

と書いて、見たら、環境変数に追加されたので、これは行けるかと思ったが

SetEnv PATH /path/to:$PATH

とやっても、既存のPATHを変更することができなかった。

で、しゃあないからplistを変えようと思って、plistを探し、 変更を試みたが、残念ながら反映されなかった。

よくわからないのが、plistの中に

<key>Disabled</key>
<true/>

と書かれていることで、このplistがdisabledなの?かよくわからん。

よーわからん。

論点整理

  • Apacheの実行はwww/wwwというuser/group
  • wwwというユーザーがplenvなんか知らない状態
  • wwwというユーザーにplenvを使わせるにはどうしたらいいか?
  • シバン行は #!/usr/bin/env perl としている
  • plenv global 5.16.3 の状態で、perl index.cgi や ./index.cgi という実行をすればちゃんと バージョンは5.16で動く

追記 2013.924

  • 自分の環境 Mac OS X 10.6.8
  • Apache 2.2.24

その後のあがき

  • /etc/launchd.conf にPATHを書いてみたが、やはりApachは認識しない
  • /etc/paths に pathを書き加えたけどApacheの環境変数には反映されない
  • ログアウトや再起動もちゃんとしてる
  • /System/Library/LaunchDaemons/org.apache.httpd.plist の書き換えをもう一度やってApache再起動してみたけどダメ
  • Apacheのhttpd.confのUserとGroupを自分のものに書き換えてみたが、PATHは一切変化しなかった

つまり、どういうことだ?Apacheにはまったくこちらの環境変数が渡されていないことになる。

comments powered by Disqus

トラックバック(0)

このブログ記事を参照しているブログ一覧: Apacheの環境変数のPATHを変えられなかった

このブログ記事に対するトラックバックURL: http://nozawashinichi.sakura.ne.jp/MT-4.25/mt-tb.cgi/1145

comments powered by Disqus

このブログ記事について

このページは、Shinichi Nozawaが2013年9月11日 00:48に書いたブログ記事です。

ひとつ前のブログ記事は「OpenPNE 2.12をいまだに使っています」です。

次のブログ記事は「MojoliciousはPerl 5.10.1以上!」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。