我想使用 PHPexec()
函数在 Windows 服务器上运行可执行文件。命令字符串将使用 ASCII 控制字符作为传递给可执行文件的数据的分隔符。我目前拥有的代码是:
for( $i = 0; $i < $size; $i++ ){
$input .= $arg[$i];
$input .= "\037"; /* Unit Separator */
}
这为 C 程序从作为参数提供给封装函数的数组元素构建了一个输入。我正在编写一个抽象层,它允许 PHP 脚本将其一些更繁重的处理卸载到 C 程序以提高效率,并通过简单的函数调用透明地完成。为此,我将以序列化形式将用作算法输入的任何数据结构传递给 C 程序的标准输入流,可能使用简单的 echo 程序。这个回显程序的参数将是整个序列化输出。为了做到这一点,我需要确保 shell 不会删除任何控制字符(我已经尝试用换行符分隔输入项,这会导致过早终止命令字符串)。我对 Windows 的操作方式不是很熟悉,