在二进制文件exec上找不到PHP返回

在二进制文件exec上找不到PHP返回,php,linux,shell,Php,Linux,Shell,我试图在脚本访问时实现对二进制文件的脚本调用。 因此,问题是php没有执行文件,而是报告一个错误:NotFound 这是脚本的代码: $plugin_name=“sounds” spcomp位于sounds.sp旁边(还有php脚本)(顺便说一句,这些是文件,如果想查看内部,需要linux分支)。我可以单独执行这些文件,但不能使用php。 这是当脚本试图执行$cmd: [Sat Aug 01 11:24:19 2015][error][client*]sh:1:./spcomp:未找到 sh是工

我试图在脚本访问时实现对二进制文件的脚本调用。 因此,问题是php没有执行文件,而是报告一个错误:NotFound

这是脚本的代码: $plugin_name=“sounds”

spcomp位于sounds.sp旁边(还有php脚本)(顺便说一句,这些是文件,如果想查看内部,需要linux分支)。我可以单独执行这些文件,但不能使用php。 这是当脚本试图执行$cmd:
[Sat Aug 01 11:24:19 2015][error][client*]sh:1:./spcomp:未找到
sh是工作文件夹。 垃圾箱没有损坏,它是775,我可以通过终端运行它

那么,它怎么了

尝试:

  • 各种shell执行
  • 绝对路径
  • cwd变化
  • 不同的功能(相同的结果)
  • shebang的$cmd
这一切都不管用


谢谢。

“未找到”与腐败或任何事情无关。它只是意味着文件不在那里。您的进程工作目录不是您所期望的。请注意,
shell\u exec()
执行shell执行。我建议您尝试使用
cwd
查找在运行shell执行时选择的当前工作目录。这取决于您的http服务器帐户设置。或者,您可以简单地使用该文件的绝对路径
spcomp
@arkascha I trued absolute path和chdir。这一次,php和bin位于同一个名为sh的目录中。所有这些方法都不起作用。“不起作用”在任何时候都没有帮助任何人解决问题。请准确点。你在这些尝试中到底犯了什么错误?如果它确实是同一个错误,那么您就有一个不同的问题:该文件根本不在您期望的位置,或者您的系统为您的shell设置了一个使用另一个文件系统的环境。也许是覆盖层。
$test = `svn cat ....`

header("Content-Disposition: attachment; filename=" . urlencode($filename));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer"); 

echo $test;
$test = `svn cat ....`

header("Content-Disposition: attachment; filename=" . urlencode($filename));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer"); 

echo $test;