Search code examples
phpexecshell-execcall-user-func-array

call_user_func_array("shell_exec", ...) not working in php


In php, when I call

shell_exec('ls');

it executes the commands 'ls' in shell and returns a string which consists of set of files in the directory

But when I call

 call_user_func_array('shell_exec', 'ls');

it is always returning false. What mistake am I doing?


Solution

  • Second parameter to the function call_user_func_array() should be an array.

    <?php
        if(call_user_func_array("shell_exec", array("ls")))
            echo "TRUE";
        else
            echo "FALSE";
    

    works as expected.