2017-06-08 8 views
-2

〜/ .bash_profileにある環境変数にアクセスするには、apache localhost(Mac)を実行しているPHP内からアクセスする方法はありますか?私はgetenv()を試みたが運がなかった。 php.iniで変更する必要があるものはありますか? PHPのWebサイトからPHP内のEnv変数にアクセスする

+0

使用:http://php.net/manual/en/function.getenv.php – dekts

+0

あなたのApacheサーバープロセスは、ユーザーのホームディレクトリから環境の初期化スクリプトを読み込むと思われます。システムに変更を加えない限り、Apacheは別のユーザーとして実行されます。 –

+0

@dekts私はgetenvを使用しましたが、私はbool(false)を取得しました –

答えて

0

例:

<?php 
    // Example use of getenv() 
    $ip = getenv('REMOTE_ADDR'); 

    // Or simply use a Superglobal ($_SERVER or $_ENV) 
    $ip = $_SERVER['REMOTE_ADDR']; 

    // Safely get the value of an environment variable, ignoring whether 
    // or not it was set by a SAPI or has been changed with putenv 
    $ip = getenv('REMOTE_ADDR', true) ?: getenv('REMOTE_ADDR') 
?> 
+0

私は以下の<?phpを試しました // getenv()の使用例 $ ip = getenv( 'USER'); \t echo $ ip; //または、単純にスーパーグローバル($ _SERVERまたは$ _ENV)を使用してください。 $ ip = $ _SERVER ['USER']; echo $ ip; //環境変数の値を安全に取得し、 がSAPIで設定されているかどうか、またはputenvで変更されているかどうかを無視する $ ip = getenv( 'USER'、true)?:getenv( 'USER' ); echo $ ip; ?>それは何も印刷しません。システムユーザーが印刷することを期待していました。私のcliでecho $ USERがvinayemmadiを取得した場合 –

0

使用の$ _SERVER変数と$ _ENVはあなたが必要とするすべてを取得します。それらのそれぞれのprint_rを実行して、その内容を確認します。

+0

はprint_rを試しましたが、何も表示されません。 –

+0

最初にあなたのコマンドプロンプトをチェックしてください。彼らが仕事をしなければ、明らかに、apacheは環境変数を表示しません。 –

+0

これはCLIのechoで動作します。 –

関連する問題