我尝试通过 php popen 命令在我的服务器上运行一个.bat
文件,我费了好大劲才终于正确设置了所有权限,现在我可以真正执行该文件了,但我遇到了一个问题。在我的服务器日志中,它显示
foo.bat: line 1: mstsc: command not found, referer: http://dev.example.com
文件中的完整代码是mstsc /v:192.168.1.1
我知道这意味着它无法识别 centos 上的命令,但我不确定如何解决这个问题。
此代码的目的是为请求它的用户打开 RDP。请记住,此代码在我的 Windows 操作系统上使用 xampp 本地运行良好,但当我将其上传到运行 CENTOS 的服务器时,它不起作用。
我的问题是
我该如何修复此错误并允许 CENTOS 执行为用户打开 RDP 窗口的命令
答案1
嗯,正如 Federico Galli 指出的那样,您正在调用一个不存在且无法在 CentOS 上运行的 Windows 可执行文件。
但是,有 Linux RDP 客户端:例如,您可以使用 rdesktop。
yum install rdesktop
rdesktop 192.168.1.1
我仍然怀疑你到底想做什么,因为你提到在服务器并且服务器通常(但不一定)缺少图形界面。
更新: 根据您的说明,我理解您希望使用 Windows 客户端的用户在通过 http 访问 CentOS 服务器上的 PHP 网站上的页面时启动 RDP 会话。我个人会只向用户提供一个 .rdp 文件供其下载和启动。或者您可以看到这里和这里。
答案2
该命令在 Linux 服务器上不存在。它是 Microsoft 软件。
Mstsc。创建与远程桌面会话主机 (RD 会话主机) 服务器或其他远程计算机的连接,编辑现有的远程桌面连接 (.rdp) 配置文件,并将使用客户端连接管理器创建的旧连接文件迁移到新的 .rdp 连接文件。