web-dev-qa-db-ja.com

Mac上のApache2の$ PATH環境変数

Apache/phpに自分のgitへのパスを認識させようとしています。私はウェブの隅々まで調査して調べてきましたが、これを行う方法を見つけることができません。基本的に、何を試しても、echo phpinfo();を実行すると、_Apache Environment_パスは_/usr/bin:/bin:/usr/sbin:/sbin_から変更されません。そして、PHPでsystem('echo $PATH');を実行すると、同じように読み取られます。

システム情報:

  • Mac OSX(ライオン)
  • Apache 2(_wwwとして実行)
  • PHP 5.3.6

これが私がこれまでに編集しようとしたものです:

  • / etc/profile
  • 〜/ .bash_profile
  • 〜/ .profile
  • / etc/path
  • /etc/path.d/{NEW_FILE}

私がこれまで試したことは、_$PATH_変数を変更していません。何か案は?

[〜#〜]ソリューション[〜#〜]

これが最終的な解決策です。私は編集しました

_/System/Library/LaunchDaemons/org.Apache.httpd.plist
_

と追加

_<key>EnvironmentVariables</key>
<dict>
    <key>PATH</key>
    <string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin</string>
</dict>
_
29
Chuck Burgess

PATH環境変数は/System/Library/LaunchDaemons/org.Apache.httpd.plistで設定できます。

詳細は docs です。

32
Monolo

ユーザー '_www'のPATH環境変数を更新しましたか? Apacheは、ユーザーが実行する環境変数を読み取ります。または、PATH環境変数を更新した後にApacheを再起動しなかったようです。

また、PHPで環境変数を変更する場合は、getenv()とputenv()の方が適しています。

4
lqez

El Capitanに関する重要な注意事項(新しい回答についてお詫びします-コメントするのに十分な担当者がいません)

OSX 10.11では、/ System/Libraryフォルダーが保護されているため、ファイルを編集できません。

必要がある:

  • リカバリモードで再起動します(起動音の後にCMD + rを押し続けます)
  • リカバリモードになったら、[ユーティリティ]> [ターミナル]に移動します
  • 実行:csrutil disable
  • OSXで再起動します-これでファイルを変更できるようになります
  • 完了したら、リカバリモードに戻り、csrutil enableを実行します

それが役立つことを願っています

3
Kiers_M

上記の情報から私を助けてくれるこの要点を作成しました:

https://Gist.github.com/srayhunter/5208619

私の問題は、PHPが/ usr/local/binの下にインストールしたプログラムを見つけられなかったことです。上記を実行すると、すべてが機能し、macosxでNiceを再生しました。

1
Ray Hunter

私がダービーをインストールしていたのと同様の問題。私がそれを解決した方法は、テキストエディットを開くことでした。この時点で[ファイル]> [開く]を選択し、Shift + Command +を押します。 、これにより、すべてのドキュメントを表示できます。ユーザーディレクトリに移動し、「。profile」というファイルを検索します。それを開き、エクスポートVARIABLE = Value行を追加します。例:

export DERBY_HOME =/opt/local/share/Java/derby /

ドキュメントを保存し、ターミナルを再起動して、変更が有効になっているかどうかを確認します。

0
Marek

ubuntuサーバーの場合は/ etc/Apache2/envvarsに、centosサーバーの場合は/ etc/sysconfig/httpdに追加します。

export PATH=<your php cli path>

apacheを再起動します

0
diyism