我希望 php 文件运行 exe 文件并在用户转到特定 url 时显示 exe 文件内容。我正在尝试使用 php 函数 exec('abc.exe'); 运行 exe 文件。但我只看到空白页。
任何人都知道如何解决它或如何正确运行 php 文件中的 exe 文件?提前谢谢了。
要使用 php 访问操作系统,请执行以下操作
$answer = shell_exec("abc.exe");
echo $answer."</br>";
$answer 字符串将包含 abc.exe 打印出或返回的信息。
您可能需要使用explode() 对其进行格式化。
如果您的 php 在 Windows 机器上运行,您只能运行 exe 文件。此外,如果您在共享主机上,您的主机可能已禁用 exec 命令。
如果您在 Windows 机器上,“abc.exe”必须在当前目录或 PATH 中。
要捕获输出,请使用:
exec( 'abc.exe', &$output);
echo $output;
链接到执行
您可以在 windows 中使用 VaccinalBowl 代码,但对于地址 .exe 文件,请参见以下示例:
$answer = shell_exec("D://Downloads/software/npp.6.7.9.2.Installer.exe");
echo $answer."</br>";
我知道这个答案可能会迟到,但 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");
?>
即使使用 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