php system get cmd code example

Example 1: how to execute cmd command in php

I'm not sure what shell you are going to get with this function, but you can find out like this:

<?php
$cmd = 'set';
echo "<pre>".shell_exec($cmd)."</pre>";
?>

On my FreeBSD 6.1 box I get this:

USER=root
LD_LIBRARY_PATH=/usr/local/lib/apache2:
HOME=/root
PS1='$ '
OPTIND=1
PS2='> '
LOGNAME=root
PPID=88057
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/sh
IFS='     
'

Very interesting.  Note that the PATH may not be as complete as you need.  I wanted to run Ghostscript via ImageMagik's "convert" and ended up having to add my path before running the command:

<?php
$cmd = 'export PATH="/usr/local/bin/"; convert -scale 25%x25% file1.pdf[0] file2.png 2>&1';
echo "<pre>".shell_exec($cmd)."</pre>";
?>

ALSO, note that shell_exec() does not grab STDERR, so use "2>&1" to redirect it to STDOUT and catch it.

Example 2: php execute command and display output

They have slightly different purposes :-

1. exec() is for calling a system command, and perhaps dealing with the
  output yourself.
2. system() is for executing a system command and immediately displaying
  the output - presumably text.
3. passthru() is for executing a system command which you wish the raw
  return from - presumably something binary.
  
Regardless, I suggest you not use any of them. They all produce highly
  unportable code.

Tags:

Php Example