成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

php中system和exec的區(qū)別是什么?

區(qū)別:system()函數(shù)可以輸出和返回結(jié)果;第二個參數(shù)是可選的,用來得到命令執(zhí)行后的狀態(tài)碼。exec()不輸出結(jié)果,而是返回結(jié)果的最后一行;雖然它只返回命令結(jié)果的最后一行,但用第二個參數(shù)array可以得到完整的結(jié)果。

安順網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)建站。

在PHP中調(diào)用外部命令,可以用exec 及 system來實現(xiàn)。那么它們之間有什么差異,下面本篇文章給大家介紹一下php中system和exec的區(qū)別。

一、exec ---執(zhí)行外部程序

string exec ( string $command [, array &$output [, int &$return_var ]] )

$command:要執(zhí)行的shell 命令

$output:shell命令的輸出填充此數(shù)組,每行輸出填充數(shù)組中的一個元素。 請注意,如果數(shù)組中已經(jīng)包含了部分元素,exec() 函數(shù)會在數(shù)組末尾追加內(nèi)容。如果你不想在數(shù)組末尾進行追加,請在傳入 exec() 函數(shù)之前 對數(shù)組使用 unset() 函數(shù)進行重置。

$return_var 命令執(zhí)行后的返回狀態(tài),命令執(zhí)行成功值是0

返回值:shell命令輸出的最后一行

ps: 2>&1 exec不成功,調(diào)試方案一個技巧就是使用管道命令, 使用 2>&1, 命令就會輸出shell執(zhí)行時的錯誤到$output變量, 輸出該變量即可分析。

例子1

(1)代碼所在的index.php 文件的結(jié)構(gòu)

(2)代碼

$out = [34];
$res = exec('ls 2>&1',$out,$return_status);
var_dump($res);
echo '------';
var_dump($out);
echo '------';
var_dump($return_status);

(3)執(zhí)行結(jié)果

zhangxueqing:demo playcrab$ php  ./1/index.php
/Users/playcrab/www/demo/1/index.php:10:
string(11) "webuploader"
------/Users/playcrab/www/demo/1/index.php:12:
array(10) {
  [0] =>
  int(34)
  [1] =>
  string(1) "1"
  [2] =>
  string(6) "1.html"
  [3] =>
  string(5) "1.php"
  [4] =>
  string(10) "client.php"
  [5] =>
  string(14) "design-pattern"
  [6] =>
  string(3) "img"
  [7] =>
  string(17) "jquery.blockUI.js"
  [8] =>
  string(10) "static.php"
  [9] =>
  string(11) "webuploader"
}
------/Users/playcrab/www/demo/1/index.php:14:
int(0)

二、system ---執(zhí)行外部程序,并且顯示輸出

string system ( string $command [, int &$return_var ] )

$command 要執(zhí)行的命令

$return_var 命令執(zhí)行后的返回狀態(tài),值是0表示成功

返回結(jié)果:

成功返回0,

失敗(命令不存在等原因) 返回 非0值

1.示例代碼

$res = system('ls 2>&1',$return_status);var_dump($res);echo '------';var_dump($return_status);

2.輸出結(jié)果

總結(jié):

system()函數(shù)很其它語言中的差不多,它執(zhí)行給定的命令,輸出和返回結(jié)果。第二個參數(shù)是可選的,用來得到命令執(zhí)行后的狀態(tài)碼

exec ()函數(shù)與system()類似,也執(zhí)行給定的命令,但不輸出結(jié)果,而是返回結(jié)果的最后一行。雖然它只返回命令結(jié)果的最后一行,但用第二個參數(shù)array 可以得到完整的結(jié)果,方法是把結(jié)果逐行追加到array的結(jié)尾處。所以如果array不是空的,在調(diào)用之前最好用unset()最它清掉。只有指定了第二 個參數(shù)時,才可以用第三個參數(shù),用來取得命令執(zhí)行的狀態(tài)碼。

推薦:《PHP視頻教程》

本文題目:php中system和exec的區(qū)別是什么?
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article4/chsdoe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、虛擬主機、移動網(wǎng)站建設、網(wǎng)站內(nèi)鏈、企業(yè)建站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司
璧山县| 垫江县| 农安县| 墨脱县| 安仁县| 肥乡县| 鹤山市| 岳池县| 车致| 光山县| 右玉县| 万荣县| 焦作市| 资源县| 郑州市| 博罗县| 金华市| 吴旗县| 清镇市| 锦屏县| 长丰县| 高邑县| 天水市| 习水县| 衡阳市| 邢台县| 灵山县| 敦化市| 酒泉市| 琼结县| 怀远县| 昭觉县| 奈曼旗| 漯河市| 米泉市| 五台县| 交口县| 苏尼特右旗| 缙云县| 枝江市| 龙口市|