我需要使用IE8在服务器端运行javascript代码 (javascript适用于activeX对象) 但是我需要从PHP命令行运行它。
简而言之,我将在2003 Windows服务器上安装apache + php,php将使用system()执行运行javascript页面的iexplore。
我想知道这是否在逻辑上可行,因为我可以看到一些陷阱:
我会尽快考虑做一个小测试用例,但任何关于这个方法的指针都会被贬低。
编辑:
现在,我意识到这是一个关于做事的方式(阅读,错误),目标是从中央位置而不是客户端机器(这是JS来自的地方)打印Dymo Label打印机。 Dymo SDK提供了几种与打印机交互的方式,但我仍然在寻找使用纯PHP的方法。我认为可以使用他们的一个示例cli二进制文件。
答案 0 :(得分:0)
确保更新Service Pack和AntiVirus定义。我可以在这里预见到许多潜在的安全问题。
请记住,IE中的JavaScript使用网页上下文运行。刷新/导航页面时,将擦除旧的JavaScript执行状态并开始新的状态。
这里有特定问题吗?
答案 1 :(得分:0)
Dymo是否有办法从命令行与它进行交互?如果是这样,您可以通过shell_exec()
轻松地向其发送命令。 http://www.php.net/manual/en/function.shell-exec.php
当您能够通过命令行控制某些内容时,这通常是最简单的选项。有时您需要更多控制(例如,交互式命令行程序),有时您想要运行的程序甚至不是基于命令行的。在这些情况下,您可能需要proc_open()
(http://www.php.net/manual/en/function.proc-open.php)或exec()
(http://www.php.net) /manual/en/function.exec.php)
请确保如果您使用exec()
重定向输出!! 。如果不这样做,可能会导致程序无限期挂起。
从PHP手册:
注意:强>
如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。