using shell_exec to call a perl script from php
I am having an issue with executing a perl script from php using the shell_exec() function.
This is what I have tried (and it has worked before).
$perl = shell_exec("/usr/bin/perl cbh_script_clean.pl");
echo ($perl);
This will not 开发者_运维百科work as $perl does not contain anything after this is executed.
Thoughts?
All help is appreciated!
Thanks.
I'll make that an answer then.
You can often append 2>&1
to redirect the stderr output to the normal stdout stream. This way you receive any error messages in the PHP variable. (Otherwise they will get lost with system
/exec
/shell_exec
, which is why people sometimes use proc_open
with explicit pipes instead).
$perl = shell_exec("/usr/bin/perl cbh_script_clean.pl 2>&1");
echo ($perl);
Try this:
$perl = shell_exec("/usr/bin/perl cbh_script_clean.pl 2>/dev/null >/dev/null &"); echo ($perl);
精彩评论