5

Linux変数全体に変数を追加します/etc/profile

export MYNAME="My Value"

Apache Web サーバー経由で実行中に、php ソースコードでこの値にアクセスするにはどうすればよいですか? $_SERVER では、この値は存在しません。

このキーだけが $_ENV に表示されます:

_ENV["APACHE_RUN_DIR"]  /var/run/apache2
_ENV["APACHE_PID_FILE"] /var/run/apache2.pid
_ENV["PATH"]            /usr/local/bin:/usr/bin:/bin
_ENV["APACHE_LOCK_DIR"] /var/lock/apache2
_ENV["LANG"]            C
_ENV["APACHE_RUN_USER"] www-data
_ENV["APACHE_RUN_GROUP"]    www-data
_ENV["APACHE_LOG_DIR"]  /var/log/apache2
_ENV["PWD"]                 /
4

2 に答える 2

4

変数が正しいユーザーの下でエクスポートされていると仮定すると、$_ENVそれらを含める必要があります。

参照: http://se.php.net/manual/en/reserved.variables.environment.php

于 2012-11-03T13:08:59.843 に答える
1

デーモンプロセスの環境変数を設定しようとすると、思ったよりも注意が必要です。インタラクティブログインbashシェルソースのみ/etc/profile。これはおそらくWebサーバープロセスの基準と一致しません。詳細については、このページを参照してください。

ただし、 ApacheおよびPHPで環境変数を設定できます。

Apache構成ファイルの場合:

SetEnv ENV_VAR var_value

サーバーを再起動します。$_ENVそうすれば、PHPを使用してこの変数をフェッチできるはずです。

于 2012-11-03T13:22:51.143 に答える