2011-03-15 37 views
0

我需要執行mkdir命令(例如,通過PHP的exec命令)。如何訪問標準錯誤(例如,EACCES,請參閱:http://pubs.opengroup.org/onlinepubs/009695399/functions/mkdir.html)。建議?謝謝。PHP:運行「mkdir」並獲取errno

UPDATE:

我加2>&1我的命令:

$command = "sudo mkdir /home/test 2>&1"; 
$output = array(); 
$return = 0; 
exec($command, $output, $return); 

沒有它,我用得到任何0(成功)或-1(錯誤)。現在,我在我的一個測試中得到了一個1 - 我想這是因爲我試圖創建的目錄已經存在。看起來1映射到EEXIST。我如何映射其餘的errno?

回答

0

你可能尋找proc_open,讓您直接與stdinstdoutstderr爲PHP工作能力流,這意味着你可以使用它們正常的文件讀取和寫入功能。

請務必閱讀proc_closeproc_get_status頁面上有關proc_家族樹的更多詳情。

您可能有更多的運氣處理與stderr提供的錯誤文本,而不是使用退出代碼。