[PHP-users 11623] Re: QUERY_STRING の値って変えられないのでしょうか?

Youichi Iwakiri php-users@php.gr.jp
Wed, 20 Nov 2002 15:19:22 +0900


いわきりです

みつき wrote in <5.0.2.5.2.20021120150310.03c74e78@pop.zc5.so-net.ne.jp> :
>途中でコマンドライン版にパラメーターを与えるため、
>このQUERY_STRINGの値を変更しようとしました。
>例えば
>exec("export QUERY_STRING=\"param=1\"");

exec('export QUERY_STRING="param=1"; env');
でちゃんと渡されてることを確認できませんか?

>この後、変更されたか確認しようと
>echo system("echo \$QUERY_STRING");
>とすると当初与えたパラメーターが表示され、
>変更されていないことが分かります。

確認する場所が違います。
exec()の終了と共に一時的に設定した環境変数QUERY_STRINGは
元の状態になります。
#というか、exec()の時点で環境変数の複製がそのプロセスで
#使われ、元々の実行プロセス側では変更されません。

putenv()も併せて調べることをお勧めします。

-- 
Youichi Iwakiri