I'm receiving no errors or warnings of any kind.
Well, you have this:
exec($cmd);
And the function signature is this:
string exec ( string $command [, array &$output [, int &$return_var ]] )
Change your code to make use of the optional arguments that provide error info.
In any case, you're encoding your complete command as a single argument. That cannot work: I count 5 different tokens in your command line, not one. You must encode all 5 items separately and you need to use different functions for commands and arguments.
Additionally, escapeshellarg()
is basically a Unix-only function that has been poorly patched so it doesn't have obvious security issues on Windows, but it doesn't work properly on Windows, it'll often strip characters rather than escaping. I found a nicer replacement at the Symfony framework which is rather easy to adapt for standalone use.