exec()函數用來執行一個外部程式,我們再用這函數基本是在linux。 開啟exec()函數: exec()函數是被禁用的,要使用這個函數必須先開啟。首先是 要關掉 安全模式 safe_mode = off。然後在看看 禁用函數列表disable_functions = proc_open, po ...
exec()函數用來執行一個外部程式,我們再用這函數基本是在linux。
開啟exec()函數:
exec()函數是被禁用的,要使用這個函數必須先開啟。首先是 要關掉 安全模式 safe_mode = off。然後在看看 禁用函數列表
disable_functions = proc_open, popen, exec, system, shell_exec, passthru
這裡要把 exec 去掉,重啟 apache 就OK了。
exec()函數基本用法:
exec ( string $command [, array &$output [, int &$return_var ]] );
$command:表示要執行的命令。
$output:如果提供了 output 參數, 那麼會用命令執行的輸出填充此數組, 每行輸出填充數組中的一個元素。 數組中的數據不包含行尾的空白字元,例如 \n 字元。 請註意,如果數組中已經包含了部分元素,exec() 函數會在數組末尾追加內容。如果你不想在數組末尾進行追加, 請在傳入 exec() 函數之前 對數組使用 unset() 函數進行重置。
$return_var:如果同時提供 output 和 return_var 參數, 命令執行後的返回狀態會被寫入到此變數。
一般來說,我們只要寫第一個參數,也就是$command。
因為 exec()函數主要用在執行外部程式,我們這裡就以linux系統為例子,做幾個demo教程:
<?php
$command
=
"ls /tmp/test"
;
//ls是linux下的查目錄,文件的命令
exec
(
$command
,
$array
);
//執行命令
print_r(
$array
);
?>
返回的結果如下:
[root@krlcgcms01 shell]# php ./
exec
.php
Array
(
[0] => 1001.log
[1] => 10.log
[2] => 10.tar.gz
[3] => aaa.tar.gz
[4] => mytest
[5] => test1101
[6] => test1102
[7] => weblog_2010_09
)
本人博客地址:PHP exec()函數的介紹和使用DEMO http://www.wangtuizhijia.com/archives/131