php - 如何通过 PHP 在 Windows 服务器上执行 .exe 文件?

标签 php windows batch-file

我在我的 windows vps 上安装了 php,可以通过端口 80 和我的家用 PC 访问。

创建了一个 auto.php 文件,该文件应触发文件名 Filename.exe

这是我写的代码(从网上偷来的,并在上面工作)

<?php
exec('c:\WINDOWS\system32\cmd.exe /c START C:\xampp\htdocs\myy\Filename.exe');
    echo "Game server has been started";
?>

但是当我点击 auto.php 时,它不会执行,但是我可以看到在任务管理器中打开了一个新的命令提示符,但没有执行 Filename.exe。

但是,如果我使用以下命令创建名为 test.bat 的 bat 文件

copy NUL test.txt

并将脚本的结尾部分更改为 test.bat 而不是 Filename.exe

<?php
exec('c:\WINDOWS\system32\cmd.exe /c START C:\xampp\htdocs\myy\test.bat');
    echo "Game server has been started";
?>

它确实创建了一个名为 test.txt 的文件,但是如果我将命令更改为

启动文件名.exe

它仍然没有启动,我不确定我在这里做错了什么。

请帮忙。

我的最终目标是能够启动 filename.exe(与 auto.php 在同一文件夹中)以从浏览器远程运行..

最佳答案

php exec($cmd) 函数将执行您的命令,就好像它直接放在服务器的终端中一样。这意味着你应该能够简单地拥有

exec('START C:\xampp\htdocs\myy\Filename.exe');

它应该可以工作。

如果它仍然不起作用,您可以随时创建一个批处理文件,其中包含对该应用程序的调用,例如

START C:\xampp\htdocs\myy\Filename.exe

在大多数 Windows 系统上,START 将代表打开默认命令提示符的新实例以运行命令,它也可以是可选的。

希望对你有帮助

关于php - 如何通过 PHP 在 Windows 服务器上执行 .exe 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38326575/

相关文章:

python - VScode 看不到 pyenv python 解释器

mysql - 一行mysql命令是否可以轻松存储和重复使用?

file - 根据今天的日期创建文件夹并使用批处理文件将文件复制到新文件夹中

php - 受内存/大小限制反序列化

php - 在不使用 try/catch 的情况下,如何在 PHP 中使用 fopen 时捕获 "permission denied"错误?

php curl 多部分/表单数据 : file content not posted

javascript - 开发环境建议

php - 无法从结构化 SQL 语句获取 COUNT(*) 结果

windows - 帮助处理 LibSVM 输入数据

php - 如何使用cmd批量多次运行.php脚本?