我遇到了使用shell_exec()函数从php执行perl脚本的问题。
这就是我所尝试过的(以前它曾经有过)。
$perl = shell_exec("/usr/bin/perl cbh_script_clean.pl");
echo ($perl);
这不起作用,因为$ perl在执行此操作后不包含任何内容。
思想?
感谢所有帮助!
感谢。
答案 0 :(得分:6)
我会在那时做出答案。
您通常可以附加2>&1
将 stderr 输出重定向到正常的标准输出流。这样您就可以在PHP变量中收到任何错误消息。 (否则他们会因system
/ exec
/ shell_exec
而迷失方向,这就是为什么人们有时会使用proc_open
代替显式管道。
$perl = shell_exec("/usr/bin/perl cbh_script_clean.pl 2>&1");
echo ($perl);
答案 1 :(得分:1)
尝试一下:
$ perl = shell_exec(“ / usr / bin / perl cbh_script_clean.pl 2> / dev / null> / dev / null&”); 回声($ perl);