Azureを使用してコードをデプロイするので、重要な設定(client_idやclient_secretsなど)を保存するためにサーバーの変数を使用しています。組み込みWebサーバーを使用してPHPからWindowsの環境変数を読み取る方法は?
$_SERVER['APPSETTING_Imgur_Client_Id'];
Set Azure Application Environment variables
私は(直接ウィンドウに)エンバイロメント変数を設定することによって、私の開発エンバイロメント(Windowsの場合)で同じmecanismを使用して、私のアプリでそれらを使用したいです。
だから私は定義されている2つのWindowsの変数(system properties->Environment Variables->User Variables
):
Set Windows's Evironment variables
をしかしthoses変数は$_SERVER['APPSETTING_Imgur_Client_Id'];
(CMD php -S [::]:80 index.php
付き)を介して利用できません。 私はデフォルトの$ _SERVER変数しか持っていません。
だから私はaskyingだ:
どのようにPHPでthosesのWindowsのevironment変数を読み取るために?
PHPアプリケーションコードを使用せずにカスタム$ _SERVER変数を追加する方法がない場合。
PHP 7.1.10 & Windows Server 2016
私は(今
System variables
下)の変数の位置を変更しているし、自分のコンピュータを再起動:
私が使用しています。
その後、getenv('APPSETTING_Imgur_Client_Id'')
または$_SERVER
であっても、自分のカスタム変数にアクセスすることはできません。
は、しかし、私は私のコードを編集したい場合は、コマンドラインphp -r 'var_export($_SERVER);'
と私は私の変数
php -S [::]:80 index.php
でローカルディレクトリからWebサーバを起動します。
php -S
コマンドがWindows環境を通過しないことを確認します。
ありがとう。
編集:ソリューション:
使用getenv
下図参照:
Postman sample, with both user env and system env
@NineBerryあなたの答えは正しいです、 'getenv( 'somevar')'は、 '$ _SERVER ['somevar']' 。私は前の質問にロールバックすべきですか?または私は答えを投稿すべきですか?どうもありがとう。 – user8738918