PHP の popen コマンドを使用してスクリプトを実行する場合、それは PHP の現在のディレクトリのコンテキストで実行されますか?
現在、私は次の線に沿って何かをやっています
popen(' cd PATH; CMD');
しかし、私はそれを行うことができます
chdir ('PATH');
popen('CMD');
実行されるコンテキストによって異なります。
コマンド ラインから popen() を使用すると、実行元の WD で実行されます。
[ghoti@pc ~]$ php -r '$h=popen("pwd","r"); print fread($h, 80);'
/home/ghoti
[ghoti@pc ~]$ php -r 'chdir("/tmp"); $h=popen("pwd","r"); print fread($h, 80);'
/tmp
はい、そうです。Windows 7 で Apache PHP/5.3.2 を使用してテストしました。