1

PHP の popen コマンドを使用してスクリプトを実行する場合、それは PHP の現在のディレクトリのコンテキストで実行されますか?

現在、私は次の線に沿って何かをやっています

popen(' cd PATH; CMD');

しかし、私はそれを行うことができます

chdir ('PATH');
popen('CMD');
4

2 に答える 2

2

実行されるコンテキストによって異なります。

コマンド ラインから 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
于 2011-12-19T21:47:29.483 に答える
1

はい、そうです。Windows 7 で Apache PHP/5.3.2 を使用してテストしました。

于 2011-12-19T21:50:15.627 に答える