2016-04-22 88 views
0

使用wamp/php 5.3我有一个奇怪的行为我希望你的意见...php exec不能在函数中工作?

我需要执行一些外部/ shell命令,但是当我将它们包装在函数中exec()不似乎再工作......

例: 如果我做这样的事情:

<?php 
/// some stuff 

$getAppCmd = $CLI_CMD." -q -f ".$CLI_REQ_PATH."\getApp.py"; 
exec($getAppCmd, $apps, $rt); 
print_r($apps); 

/// other stuff 
?> 

==>它工作得很好:)

,但如果我尝试实现更多的东西可重用:

<?php 
// Some stuff 

function getApp(){ 
    $getAppCmd = $CLI_CMD." -q -f ".$CLI_REQ_PATH."\getApp.py"; 
    exec($getAppCmd, $apps, $rt);  
    print_r($apps); 
    return $apps; 
} 
$list = getApp(); 
print_r($list); 

//other stuff 
?> 

==>我什么都不印刷阵列()()数组

我缺少的东西?

我已经通过一些线程,但找不到东西来指导我,即使我返回一个数组,返回也应该工作,并且该命令与函数外部的&内部相同...

我不明白,需要你的帮助。

谢谢!

+0

的可能的复制[抑制来自EXEC(输出)在PHP中调用(http://stackoverflow.com/questions/1606943/suppressing-output-from-exec-calls-in-php) – Farside

+0

即可使用'glob' http://php.net/manual/ru/function.glob.php – Naumov

回答

1

您正在执行命令dirC:\temp而不是dir C:\temp,此处缺少空间。

$path = "C:\temp"; 
$cmd = "dir ".$path; 
+0

感谢您的回答,其实这是为了说明的目的^^抱歉如果传播一些疑问。我正在用真正的命令编辑代码,它会更相关 – PriPri