: not found"-6ren"> : not found"-我正在开发一个服务器应用程序,我最近在测试服务器 (Debian Squeeze) 上遇到了这个奇怪的错误。 我传递给 popen 的每个可执行文件都失败并显示消息: sh: sort: not fo-6ren">
gpt4 book ai didi

php - popen 失败,返回 "sh: : not found"

转载 作者:可可西里 更新时间:2023-11-01 13:00:35 25 4
gpt4 key购买 nike

我正在开发一个服务器应用程序,我最近在测试服务器 (Debian Squeeze) 上遇到了这个奇怪的错误。

我传递给 popen 的每个可执行文件都失败并显示消息:

sh: sort: not found // happens to any command

无论我指向“type”返回的完整路径还是保持简短,都会发生这种情况。如前所述,这只发生在一个测试环境中,增加了困惑,我运行相同的操作系统并且没有任何问题。

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

最佳答案

调用 popen 时,可能您的 PATH 配置不正确。我猜这是一个 PHP 配置问题,但您可以通过以下方式绕过它:

  1. 运行 which tail 以确定 tail 程序的完整路径。
  2. 使用在 1 中找到的路径调用 popen

关于php - popen 失败,返回 "sh: <command>: not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2717897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com