首頁 美術繪圖 | 美術設計 | 熱門標籤 | 首選 | 首頁宣傳 | 近期作品 論壇: 發表 | 美術工作 | 美術比賽 | 展覽活動 | 美術相關 | 一般討論 | 美術同好 CG 討論 :: Photoshop | Painter | 3D 行動 | AMP

【 立即註冊 】 : 更改個人資料 : : 登入

會員名稱: 登入密碼: 保持登入

PHP: system vs exec vs shell_exec vs passthru

發表新主題 回覆主題 討論區 Windows, Linux, Perl, PHP, C/C++, Driver, Web 理論、應用、硬體、軟體

| 1頁, 共1
人氣點閱:2650 發表人
PHP: system vs exec vs shell_exec vs passthru 2013-09-25 11:42
分類: ✔️include ✔️include
個人: ✔️include ✔️include
/ / /

PHP: system() vs exec() vs shell_exec() vs passthru()






An Example of simple C Code (a.out)


代碼:

<?PHP

$cmd = "a.out";

echo "------------------------------------------------\n";
$err = system($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = exec($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = shell_exec($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = passthru($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

?>


代碼:

$ cat stdout-stderr-fprintf.c
#include <stdio.h>
#include <stdlib.h>

int main(void)
{

        fprintf(stderr, "hello\n");
        fprintf(stderr, "thank\n");
        fprintf(stdout, "you\n");
        fprintf(stdout, "welcome\n");
        fprintf(stderr, "to\n");
        fprintf(stderr, "my home\n");

        return -15;
}

$ gcc stdout-stderr-fprintf.c
$ ls a.out
a.out


PHP: System(): console=STDOUT+STDERR, return last line of STDOUT


代碼:

------------------------------------------------
hello
thank
to
my home
you
welcome
------------------------------------------------
string(7) "welcome"
================================================


PHP: exec(): console=STDERR only, return last line of STDOUT


代碼:

------------------------------------------------
hello
thank
to
my home
------------------------------------------------
string(7) "welcome"
================================================


PHP: shell_exec(): console=STDERR only, return all lines of STDOUT


代碼:

------------------------------------------------
hello
thank
to
my home
------------------------------------------------
string(12) "you
welcome
"
================================================


PHP: passthru(): console=STDOUT+STDERR, return NULL


代碼:

------------------------------------------------
hello
thank
to
my home
you
welcome
------------------------------------------------
NULL
================================================


Example: "head -3 /proc/cpuinfo"



代碼:

<?PHP

$cmd = "head -3 /proc/cpuinfo";

echo "------------------------------------------------\n";
$err = system($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = exec($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = shell_exec($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = passthru($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

?>


@@@ RESULT @@@
------------------------------------------------
processor       : 0
vendor_id       : GenuineIntel
------------------------------------------------
string(24) "vendor_id   : GenuineIntel"
================================================


------------------------------------------------
------------------------------------------------
string(24) "vendor_id   : GenuineIntel"
================================================


------------------------------------------------
------------------------------------------------
string(39) "processor   : 0
vendor_id       : GenuineIntel
"
================================================


------------------------------------------------
processor       : 0
vendor_id       : GenuineIntel
------------------------------------------------
NULL
================================================



________________

美術插畫設計案子報價系統 v0.1 Beta
爪哇禾雀
Type



繪圖畫廊設計藝廊
攝影相簿留言板
最愛收藏分類標籤
暱稱: Type
註冊: 2002-11-30
發表: 11085
來自: vovo2000.com
V幣: 900977
Re: PHP: system vs exec vs shell_exec vs passthru 2013-09-25 11:49
/ / /



Example: "true"



代碼:

<?PHP

$cmd = "true";

echo "------------------------------------------------\n";
$err = system($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = exec($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = shell_exec($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = passthru($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

?>


@@@ RESULT @@@
------------------------------------------------
------------------------------------------------
string(0) ""
================================================


------------------------------------------------
------------------------------------------------
string(0) ""
================================================


------------------------------------------------
------------------------------------------------
NULL
================================================


------------------------------------------------
------------------------------------------------
NULL
================================================




________________

美術插畫設計案子報價系統 v0.1 Beta
爪哇禾雀
Type



繪圖畫廊設計藝廊
攝影相簿留言板
最愛收藏分類標籤
暱稱: Type
註冊: 2002-11-30
發表: 11085
來自: vovo2000.com
V幣: 900977
Re: PHP: system vs exec vs shell_exec vs passthru 2013-09-25 11:53
/ / /



Example: "top -b -c -n 1 | grep mysql"




代碼:

<?PHP

$cmd = "top -b -c -n 1 | grep mysql";

echo "------------------------------------------------\n";
$err = system($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = exec($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = shell_exec($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

echo "------------------------------------------------\n";
$err = passthru($cmd);
echo "------------------------------------------------\n";
var_dump($err);
echo "================================================\n\n\n";

?>


@@@ RESULT @@@
------------------------------------------------
------------------------------------------------
string(0) ""
================================================


------------------------------------------------
------------------------------------------------
string(0) ""
================================================


------------------------------------------------
------------------------------------------------
NULL
================================================


------------------------------------------------
------------------------------------------------
NULL
================================================




________________

美術插畫設計案子報價系統 v0.1 Beta
爪哇禾雀
Type



繪圖畫廊設計藝廊
攝影相簿留言板
最愛收藏分類標籤
暱稱: Type
註冊: 2002-11-30
發表: 11085
來自: vovo2000.com
V幣: 900977





資訊相關理論、技術、管理、應用、產品等
發表新主題 回覆主題