php popen и php текущий рабочий каталог - PullRequest
1 голос
/ 20 декабря 2011

Если я использую команду PHP popen для выполнения скрипта, выполняет ли она его в контексте текущей директории PHP?

В настоящее время я делаю что-то вроде

popen(' cd PATH; CMD');

но могу ли я сделать это как

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

Ответы [ 2 ]

2 голосов
/ 20 декабря 2011

Это зависит от контекста, в котором он запускается.

Когда я использую 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
1 голос
/ 20 декабря 2011

Да, это так.Я только что проверил это на Windows 7 с Apache PHP / 5.3.2.

...