PHP調用linux命令詳細說明

來源:互聯網
上載者:User
關鍵字 網路程式設計 PHP教程

PHP調用linux命令詳細說明
/*
在php教程中調用linux命令的函數是
string   exec(string   command,   string   [array],   int   [return_var]);

exec( "vpopmail ");

echo exec('whoami');

再看一實例

function exec_enabled() {
$disabled = explode(', ', ini_get('disable_functions'));
return !in_array('exec', $disabled);
}

<?php
$tmp = exec("c:Imagegm.exe convert c:Imagefile1.tiff c:Imagefile1.jpg", $results);
?>

還有一種命令是

php通過函數system()調用系統命令。

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

實例

system('asterisk -vvvvvvvvvvvc');

system()是一樣的函數C的,它執行給定的命令和輸出結果的版本。 該system()的調用也嘗試自動刷新網頁伺服器的輸出緩衝器在每個輸出行如果PHP運行作為伺服器模組。 如果你需要執行一個命令,並已全部通過直接從背面沒有任何干擾的命令資料,使用passthru()函數。


$last_line = system('ls', $retval);


function my_exec($cmd, $input='')
         {$proc=proc_open($ cmd, array(0=>array('pipe', 'r'), 1=>array('pipe', 'w'), 2=>array('pipe', 'w')), $pipes);
          fwrite($pipes[0], $input);fclose($pipes[0]);
          $stdout=stream_get_contents($pipes[1]);fclose($pipes [1]);
          $stderr=stream_get_contents($pipes[2]);fclose($pipes [2]);
          $rtn=proc_close($proc);
          return array('stdout'=>$stdout,
                         'stderr'=>$stderr,
                        'return'=>$rtn
                       );
         }
var_export(my_exec('echo -e $(</dev/stdin) | wc -l', 'hnelnlo'));

實例三

$cmd = "date";

$output = system($cmd);
printf("System Output: $outputn");

exec($cmd, $results);
printf("Exec Output: {$results[0]}n");


php調用linux命令的許可權問題


你可以使用定時任務執行你要調用的php,這時的許可權就是root,
php通過函數system()調用系統命令


php一般是以apache使用者身份去執行的,把apache加入到存儲你檔的父資料夾屬組裡去,然後改該父資料夾許可權為775,這樣屬組成員就有寫的許可權,而apache屬於這個組就可以改寫該目錄下所有檔的許可權,當然, 屬組最好不要是root,你可以為該資料夾改個其它普通使用者組。

改apache/php的運行使用者方法不安全
*/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.