开发者

How can we execute linux commands from php programs?

开发者 https://www.devze.com 2023-01-03 17:26 出处:网络
I want to see the outp开发者_运维百科ut of the following code in the web browser: code: <?php

I want to see the outp开发者_运维百科ut of the following code in the web browser:

code:

<?php

      $var = system('fdisk -l');

      echo "$var";
?>

When I open this from a web browser there is no output in the web browser. So how can I do this? Please help!

Thanks Puspa


you can use passthru, like so:

$somevar = passthru('echo "Testing1"');
// $somevar now == "Testing1"

or

echo passthru('echo "Testing2"');
// outputs "Testing2"


use exec('command', $output);

print_r($output);


First of all, be sure that you (=user under which php runs) are allowed to call the external program (OS access rights, safe_mode setting in php.ini). Then you have quite a few options in PHP to call programs via command line. The most common I use are:


system

This function returns false if the command failed or the last line of the returned output.

$lastLine = system('...');

shell_exec or backtick operators

This function/operator return the whole output of the command as a string.

$output = shell_exec('...'); // or:
$output = `...`;

exec

This function returns the last line of the output of the command. But you can give it a second argument that then contains all lines from the command output.

$lastLine = exec('...'); // or capturing all lines from output:
$lastLine = exec('...', $allLines);

Here is the overview of all functions for these usecases: http://de.php.net/manual/en/ref.exec.php

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号