PHP的exec
1.exec( )基礎介紹
exec()函數用來執行一個外部程序
開啟exec()函數:
exec()函數是被禁用的,要使用這個函數必須先開啟。
1.首先是 要關掉 安全模式 safe_mode = off 2.然后在看看 禁用函數列表 disable_functions = proc_open, popen, exec, system, shell_exec, 這里要把 exec 去掉,3.重啟 apache 就OK了。2.exec()函數參數:
exec ( string $command [, array &$output [, int &$return_var ]] );
$command:表示要執行的命令。
$output:如果提供了 output 參數, 那么會用命令執行的輸出填充此數組, 每行輸出填充數組中的一個元素。 數組中的數據不包含行尾的空白字符,例如 \n 字符。 請注意,如果數組中已經包含了部分元素,exec() 函數會在數組末尾追加內容。如果你不想在數組末尾進行追加, 請在傳入 exec() 函數之前 對數組使用 unset() 函數進行重置。
$return_var:如果同時提供 output 和 return_var 參數, 命令執行后的返回狀態會被寫入到此變量。(0為成功,其他值為失敗)
3.exec( )使用
在php中使用了該方法,在瀏覽器中沒有反應,但是在控制臺直接執行命令是可以的。 將命令寫在test.php文件內,在控制通過命令 php test.php執行也是成功的。(該現象應該是CGI模式下和CLI模式下執行的區別)
(用瀏覽器執行,就只能是CGI模式,cli需要在終端執行)
exec('mysql -u root -proot -Dtest<test.sql',$out,$status); 這樣寫是不會顯示錯誤信息的,可在命令后邊添加 “2>&1” 將錯誤顯示出來。如下:?exec('mysql -u root -proot -Dtest<test.sql 2>&1',$out,$status);
?
總結
- 上一篇: Linux的phpize
- 下一篇: Yii用原生分页