【问题标题】:Cannot start exe from command code from apache as service无法从 apache 的命令代码作为服务启动 exe
【发布时间】:2020-09-30 22:53:34
【问题描述】:

我将 apache 作为窗口服务运行,具有以下代码来运行 NodeSetup.exe 以将新设备添加到 SNMPc

$command = '"C:\\Program Files (x86)\\SNMPc Network Manager\\NodeSetup.exe" -i -s:c -m:'.$mode.' -frct -uii -n:"' .$fileName. '" 2>&1';
$rts = exec($command);

SNMPc 日志显示“可以连接到 SNMPc 控制台”

我确实检查了 NodeSetup.exe 已在后台启动的日志,但另一个选项 -i -s:c -m:'.$mode.' -frct -uii -n:"' .$fileName. '" 2>&1 可能无法通过!

请帮忙!

【问题讨论】:

    标签: php windows apache xampp


    【解决方案1】:

    根据exec 函数的PHP 文档,您需要使用escapeshellargescapeshellcmd 转义所有args 和cmd。

    如果你的 PHP 文件是用 UTF-8 编码的,并且连接的值也是,你必须将 $command 字符串转换为 Windows 本地编码。

    对于欧洲,您必须使用 mb_convert_encoding 将 UTF-8 转换为 ISO-8859-1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-12
      • 1970-01-01
      • 2020-03-17
      • 2018-06-18
      • 2017-09-09
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      相关资源
      最近更新 更多