我有一个 php 脚本,它正在执行一个写入串行端口的可执行文件。但是,每次运行
系统(“c:\Untitled1.exe”)它只是打开一个cmd窗口并冻结。
有人知道如何解决这个问题吗?或者是否有更简单的方法让 PHP 直接写入串口?(我已经尝试过这两个: http: //blogs.vinuthomas.com/2007/04/09/php-and-serial-ports/他们不适合我)
PS我在Windows XP
我有一个 php 脚本,它正在执行一个写入串行端口的可执行文件。但是,每次运行
系统(“c:\Untitled1.exe”)它只是打开一个cmd窗口并冻结。
有人知道如何解决这个问题吗?或者是否有更简单的方法让 PHP 直接写入串口?(我已经尝试过这两个: http: //blogs.vinuthomas.com/2007/04/09/php-and-serial-ports/他们不适合我)
PS我在Windows XP
当您运行“Untitled1.exe”时会发生什么 - 它是否在 php 环境之外工作?
我建议坚持使用加载的扩展方法 - 这是实现这一点的更好方法。
如果这两种方法都不起作用,那么问题可能出在其他地方 - 与权限或配置有关。
AFAIKsystem()
调用会阻止执行,直到程序完成。也许使用popen()
,可以解决这个问题fread()
。pclose()
有关详细信息,请参阅http://php.net/manual/en/function.popen.php。
我相信win32下的诀窍是从php运行start.exe /B来执行和忘记。:) 试一试!
您可以通过 cmd 运行它来获取 start.exe 的帮助: start /?