我如何使用php运行bin文件?

问题描述 投票:1回答:3

这里是问题:我有5个由c ++代码生成的bin文件,我正在开发一个GUI以便使用php页面执行该文件。我尝试使用php函数exec执行bin文件。当我加载页面时,没有附加任何内容,我希望垃圾箱开始在本地运行,并在shell窗口中向我显示结果。校准是bin文件的名称。可以吗?

 <html>
  <body>
  <?php 
   exec('calibrate');
  ?><br>
  </body>
 </html>  

UPDATE

我检查了PHP错误日志,但遇到了权限被拒绝的错误,问题是我同时也在父目录中用777修改了所有权限,但收到相同的错误。我不知道它是否有用,但是我是否调用命令whoamII读取apacheI。希望有人可以提供帮助。

php html
3个回答
0
投票
  1. [exec函数中键入bin文件的完整路径

    exec("C:\xampp\apache\bin\ax.exe");
    

    2。还要确认exec函数未在php.ini的禁用函数列表中列出


0
投票

official documentation for exec()开始,它从命令结果返回最后一行

返回值

命令结果的最后一行。如果您需要执行命令,并将命令中的所有数据直接传回在没有任何干扰的情况下,请使用exec()功能。

要获取已执行命令的输出,请务必设置并使用输出参数。

如果只有一行输出,则简单地回显它:

passthru()

否则,传入第二个参数以获取输出数组:

<?php echo exec('/path/to/calibrate') ?>

如果存在输出参数,则指定的数组将为填充命令的每一行输出。尾随空格,例如<?php $output = array(); exec('/path/to/calibrate', $output); // Print it however you need print_r($output); ?> ,不包含在此数组中。请注意,如果数组已经包含一些元素,\n将追加到数组的末尾。如果您不希望函数附加元素,在将其传递给exec()之前,先在数组上调用unset()


0
投票

这在搜索了几个小时后对我有用!祝好运! :)

exec()

semanage fcontext -a -t httpd_sys_script_exec_t '/whatever/scripts(/.*)?' restorecon -R -v /whatever/scripts/


推荐问答