Before we execute a shell command from PHP it’s a good idea to test if the server will respond to it. We can do this by making use of the empty() function.
The following example consists of a helper function you can call before executing the command in question. Then we call it with the shell command we intend to use, before executing the command for real. We’re using ‘uname -a’ here as an example that will generate output and takes a parameter:
// helper function function checkShellCommand($command) { $returnValue = shell_exec("$command"); if(empty($returnValue)) { return false; } else { return true; } } // test the shell command you'd like to use if (!checkShellCommand('uname -a')) { print 'This command cannot be executed.'; } else { echo shell_exec('uname -a'); }
function checkShellCommand($command) { return !empty(shell_exec(“$command”)); }
It’s shorter and …I wonder myself if it’s really needed to have a function for that.