【发布时间】:2012-10-09 17:33:53
【问题描述】:
我正在尝试使用 passthru 函数在 php 中执行 tcl 脚本。 TCL 脚本在普通的 unix 终端上完美执行。而在 php 中它没有在浏览器上给出预期的结果。
我正在使用 php 中的 passthru 函数传递环境变量。环境变量已正确传递,但我注意到其余命令没有给出结果。所以我尝试尝试执行 ls 命令和 date 命令。
date 命令在浏览器上提供输出,而ls 不在浏览器上提供任何输出。
为什么会这样? who 和其他输出较大的命令的结果相同。我在这里有什么遗漏吗?
这是我的示例 tcl 脚本 ls_sample.tcl
puts "entering tcl"
set date_variable [exec date]
puts $date_variable
set ls_variable [exec ls]
puts $ls_variable
浏览器上的示例输出:
executing tclscript entering tcl Thu Oct 18 23:23:38 PDT 2012
为什么没有打印ls?而它在 unix 终端上完全可以正常工作?
【问题讨论】:
-
这很好奇。甚至
exec /bin/ls -la也不会产生任何输出吗? (只是试图排除您在空目录中执行的可能性......) -
如果您使用 tcl -- 为什么要执行日期和 ls?您有时钟和 glob 命令来避免执行另一个子进程。
-
@patthoyts 我假设它们是其他东西的代理(可能是专有的)。
-
@patthoyts:我只是在试验这些命令。我的实际脚本有所不同,但问题是相同的。