2014-04-11 62 views
0

嗨,我試圖讓使用exec命令,並更改爲執行特定命令的目錄,但是目錄更改不工作目錄不改變使用EXEC comman在PHP

when i execute exec('whoami'); i get proper output 

當我執行下面的代碼

<?php 

ini_set('error_reporting', E_ALL); 
$var = exec('cd /root/'); 
echo exec("pwd"); 

?> 

我的目錄並沒有改變根

回答

1

我認爲你需要使用chdir()而非exec('cd /root/')

<?php 

ini_set('error_reporting', E_ALL); 
$var = chdir('/root/'); 
echo exec('pwd'); // Prints /root 

,如果這是在網站上運行,並且用戶的HTTP服務器作爲不具有/root訪問,這可能無法正常工作。

exec()不起作用的原因是它每次都會打開一個新的子進程。在當前目錄中更改不會影響其後生成的其他目錄。

+0

是的網絡服務器運行正確,Actully我想執行一些Java命令使用PHP EXEC,我該怎麼做? –

+0

@ opensource-ios如上所述,使用'chdir()'切換到你想要的目錄。 – Phylogenesis

+0

它不起作用 –