使用shell_exec从php调用perl脚本

使用shell_exec从php调用perl脚本,php,Php,我在使用shell_exec()函数从php执行perl脚本时遇到问题 这是我尝试过的(以前也有过) 这将不起作用,因为$perl在执行后不包含任何内容 想法 感谢您的帮助 谢谢。那我就回答这个问题 您通常可以附加2>&1以将stderr输出重定向到正常的stdout流。通过这种方式,您可以在PHP变量中接收任何错误消息。(否则,它们将在系统/执行/shell_exec中丢失,这就是人们有时使用显式管道的原因) 那我就回答这个问题 您通常可以附加2>&1以将stderr输出重定向到正常的stdo

我在使用shell_exec()函数从php执行perl脚本时遇到问题

这是我尝试过的(以前也有过)

这将不起作用,因为$perl在执行后不包含任何内容

想法

感谢您的帮助


谢谢。

那我就回答这个问题

您通常可以附加
2>&1
以将stderr输出重定向到正常的stdout流。通过这种方式,您可以在PHP变量中接收任何错误消息。(否则,它们将在
系统
/
执行
/
shell_exec
中丢失,这就是人们有时使用显式管道的原因)


那我就回答这个问题

您通常可以附加
2>&1
以将stderr输出重定向到正常的stdout流。通过这种方式,您可以在PHP变量中接收任何错误消息。(否则,它们将在
系统
/
执行
/
shell_exec
中丢失,这就是人们有时使用显式管道的原因)

试试这个:

$perl=shell_exec(“/usr/bin/perl cbh_script_clean.pl 2>/dev/null>/dev/null&”); echo($perl)

试试这个:

$perl=shell_exec(“/usr/bin/perl cbh_script_clean.pl 2>/dev/null>/dev/null&”);
echo($perl)

当您直接从命令行运行
/usr/bin/perl cbh\u script\u clean.pl
时会发生什么?但是会发生什么呢?运行命令后,您在屏幕上看到了什么?请尝试在命令后添加
2>&1
。perl脚本的路径名很可能是错误的。还可以查看error.log,它包含相应的消息。@韦比:脚本已完全运行。它成功地运行了script@mario:这到底是做什么的?当您直接从命令行运行
/usr/bin/perl cbh_script_clean.pl
时会发生什么?但是会发生什么呢?运行命令后,您在屏幕上看到了什么?请尝试在命令后添加
2>&1
。perl脚本的路径名很可能是错误的。还可以查看error.log,它包含相应的消息。@韦比:脚本已完全运行。它成功地运行了script@mario:那到底是干什么的?
$perl = shell_exec("/usr/bin/perl cbh_script_clean.pl");
echo ($perl);
$perl = shell_exec("/usr/bin/perl cbh_script_clean.pl 2>&1");
echo ($perl);