我正在开发一个服务器应用程序,最近在测试服务器(Debian Squeeze)上遇到了这个奇怪的错误。
我使用popen传递的每个可执行文件都会失败并显示以下消息:
sh: sort: not found // happens to any command
无论我是指向"type"返回的完整路径还是保持简短,都会发生这种情况。正如之前提到的,这只发生在一个测试环境中,更让人困惑的是,我正在运行相同的操作系统,却没有任何问题。
Popen显然使用"sh"来执行命令,但如果我通过命令行(bash或sh)运行相同的命令,一切都很顺利。
提前感谢。
(附注:甚至尝试过Python os.popen来解决这个难题,而且成功了!)
编辑: 这是一个简单的调用,但失败了:
$command="tail -10 myfile";
$handle = popen($command.' 2>&1','r');
if($handle){
while (!feof($handle)){
....//process buffer
}
}
返回:
sh: tail: not found