exec
(PHP 4, PHP 5, PHP 7, PHP 8)
exec — 執行一個外部程式
說明
   exec(string 
  $command, array &$output = ?, int &$return_var = ?): string
   exec() 執行
   command 參數所指定的命令。
  
參數
- 
command
- 
      要執行的命令。 
- 
output
- 
      如果提供了 output參數, 那麼會用命令執行的輸出填充此陣列, 每行輸出填充陣列中的一個元素。 陣列中的數據不包含行尾的空白字元,例如\n字元。 請注意,如果陣列中已經包含了部分元素,exec() 函式會在陣列末尾追加內容。如果你不想在陣列末尾進行追加, 請在傳入 exec() 函式之前 對陣列使用 unset() 函式進行重置。
- 
return_var
- 
      如果同時提供 output和return_var參數, 命令執行后的返回狀態會被寫入到此變數。
範例
示例 #1 exec() 例程
<?php
// 輸出執行中的 php/httpd 程序的建立者使用者名稱
// (在可以執行 "whoami" 命令的系統上)
echo exec('whoami');
?>
註釋
警告
  當傳入使用者提供的數據到本函式時,應使用 escapeshellarg() 或 escapeshellcmd() 來防止使用者欺騙系統執行任意命令。
注意:
如何程式使用此函式啟動,爲了能保持在後臺執行,此程式必須將輸出重定向到檔案或其它輸出流。否則會導致 PHP 掛起,直至程式執行結束。
注意:
在 Windows 下,exec() 函式會先啟動 cmd.exe 來執行指定的命令。如果你希望啟動一個額外的應用而不用先啟動 cmd.exe 可使用 proc_open() 函式加上
bypass_shell參數。
參見
- system() - 執行外部程式,並且顯示輸出
- passthru() - 執行外部程式並且顯示原始輸出
- escapeshellcmd() - shell 元字元轉義
- pcntl_exec() - 在目前程序空間執行指定程式
- 執行運算子