2014-04-11 47 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

它不起作用 –