2017-03-27 6 views
0

私はputenvを使ってPHPからシェルスクリプトに変数を渡しています。 putenv in phpは、PHPが呼び出されるたびにユニークです

PHPは、HTMLフォームからIPを受ける(これは私がそれを行うために管理する唯一の方法です):

putenv("ip=$ip"); 

:私は環境変数に値を入れ、その後

$ip=$_POST["ip"]; 

シェルスクリプトでは、私は持っています:

ip=$IP 

このように私はこの変数を使用することができますシェルスクリプト。

私の質問は、このPHPが複数回(HTMLフォーム上で異なるIP値を使用して)呼び出される場合、おそらく同時に、putenv("ip=$port")に正しい値が含まれているか、前の値を上書きするかどうかです。

このputenvは、PHPが実行されるたびに上書きされる何らかの種類のグローバル変数を定義するかどうか分かりません。

+0

phpはリクエストから開始して1つのプロセスを生成し、応答が送信されると終了します。 env変数は、各PHPプロセスのスコープに対してのみ設定されます。あなたがやろうとしていることが私には奇妙に見える(ユーザー生成コンテンツから変数を設定する)。あなたの目標は何ですか? – k0pernikus

答えて

0

シェルスクリプトを呼び出してenv varsを渡したい場合、これを実行する最善の方法は、env変数を直接実行に渡すことです。

$ip = $_POST['IP']; 
echo `IP=$ip script.sh`; 

あなたがPHPを初めて使用する場合は、スクリプトを実行backtick operatorを見て、持っています。

関連する問題