2016-04-22 128 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