我正在开发一个服务器应用程序,最近在测试服务器(Debian Squeeze)上遇到了这个奇怪的错误。
我传递给popen的每个可执行文件都失败并带有一条消息:
sh: sort: not found // happens to any command
无论我是指向“类型”返回的完整路径还是保持简短,都会发生这种情况。如前所述,这仅在一个测试环境中发生,为了增加混乱,运行相同的操作系统并且没有任何问题。
Popen 显然使用sh来执行命令,但是如果我通过命令行(bash 或 sh)运行相同的命令,一切都很好
提前致谢
(PS:甚至尝试过 Python os.popen 只是为了解决这个问题,它确实有效!)
编辑 这是一个失败的简单调用:
$command="tail -10 myfile";
$handle = popen($command.' 2>&1','r');
if($handle){
while (!feof($handle)){
....//process buffer
}
}
返回:
sh: tail: not found