12

我希望 php 文件运行 exe 文件并在用户转到特定 url 时显示 exe 文件内容。我正在尝试使用 php 函数 exec('abc.exe'); 运行 exe 文件。但我只看到空白页。

任何人都知道如何解决它或如何正确运行 php 文件中的 exe 文件?提前谢谢了。

4

5 回答 5

11

要使用 php 访问操作系统,请执行以下操作

$answer = shell_exec("abc.exe");
echo $answer."</br>"; 

$answer 字符串将包含 abc.exe 打印出或返回的信息。

您可能需要使用explode() 对其进行格式化。

于 2012-09-03T16:54:34.193 回答
4

如果您的 php 在 Windows 机器上运行,您只能运行 exe 文件。此外,如果您在共享主机上,您的主机可能已禁用 exec 命令。

如果您在 Windows 机器上,“abc.exe”必须在当前目录或 PATH 中。

要捕获输出,请使用:

exec( 'abc.exe', &$output);
echo $output;

链接到执行

于 2012-09-03T16:55:56.500 回答
1

您可以在 windows 中使用 VaccinalBowl 代码,但对于地址 .exe 文件,请参见以下示例:

$answer = shell_exec("D://Downloads/software/npp.6.7.9.2.Installer.exe");
echo $answer."</br>";
于 2016-02-05T09:40:04.907 回答
1

我知道这个答案可能会迟到,但 php 中有一个“hack”,您可以在 Windows 中与 Task Scheduler 一起使用。以下代码适用于所有浏览器,而不仅仅是 IE。但是我应该警告您,有时您正在访问的程序可能不会在那个时刻运行,因为我有时注意到计划任务可能处于“排队”状态并且没有运行。但是代码确实可以 100% 工作......这只是任务在任务调度程序中处于什么状态的问题......它的“运行”或“排队”。

<?php
function ex($command)
{
    shell_exec('SCHTASKS /F /Create /TN _law /TR "' . $command . '"" /SC DAILY /RU 
INTERACTIVE');
    shell_exec('SCHTASKS /RUN /TN "_law');
    shell_exec('SCHTASKS /DELETE /TN "_law" /F');
}
ex("C:/Windows/System32/notepad.exe");
?>
于 2020-05-24T08:33:20.363 回答
0

即使使用 2&>1(尽管 chmod 777)也遇到权限问题,但解决方法是通过保存到文件中读取输出

看例子,cs_crypto是要解密的东西

<?php
$str = $_GET['pswd'];
$output = shell_exec("echo $str");
echo "<pre><font color='white'>$output</font></pre>";
//$output = shell_exec("echo ./cs_crypto de aesbase $str");
//$output = shell_exec("./cs_crypto de aesbase $str 2>&1");
exec("./cs_crypto de aesbase $str > out");
$output = shell_exec("tail -1 out");
//exec('./cs_crypto de aesbase $str', $output, $return_var);
//echo "<pre><font color='white'>$return_var</font></pre>";
echo "<pre><font color='white'>$output</font></pre>";
?>

所以最终的结果在 web

在此处输入图像描述

于 2018-06-29T06:27:51.197 回答