我正在尝试在脚本访问上实现对二进制文件的脚本调用。 所以,问题是 php 没有执行文件,而是报告错误:未找到。
这是脚本代码: $plugin_name = "声音";
$cmd = "./spcomp $plugin_name.sp -o $plugin_name.smx";
shell_exec($cmd);
if(is_resource("$path_to_compiler/$plugin_name.smx")) { echo "success"; }
spcomp 位于 sounds.sp (还有 php 脚本)旁边(顺便说一句,这些是 sourcemod 文件,如果您想查看内部,则需要 linux 分支)。我可以单独执行这些文件,但不能使用 php。
这是我在脚本尝试执行 $cmd 时得到的结果:
[2015 年 8 月 1 日星期六 11:24:19] [错误] [客户端 *.*.*.*] sh: 1: ./spcomp: 未找到
sh 是工作文件夹。
bin 没有损坏,它是 775,我可以通过终端运行它。
那么,这有什么问题吗?
尝试过:
- 各种 shell 执行
- 绝对路径
- cwd 更改
- 不同的功能(相同的结果)
- shebang 代表 $cmd
这一切都不起作用。
谢谢。
最佳答案
$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;
关于PHP 返回在二进制文件执行中找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31759890/