php - 在 Windows 上使用 PHP 进行串行通信

标签 php serial-port communication

我正在寻找一种与 Windows 上的 RS232 串行 COM 端口通信的方法。我在网上找到了 2 个解决方案,one这不是完全免费的(故意延迟功能)和another在 Windows 上的功能有限。后者只能写入 Windows 上的 COM 端口,不能读取。

我看不到第一个解决方案的代码,因为它被编译成一个.dll(有道理,否则人们只能编辑延迟而不购买它......)而第二个似乎只能使用fopen() 打开端口,然后 fwrite() 对其进行写入,就像对流所做的一样。但显然害怕它没有任何返回。

我知道这是可能的,因为第一个解决方案做到了,尽管它确实需要 Apache 使用 php-cgi 模块而不是 php5module。

有什么想法吗?

最佳答案

上述每个解决方案要么效率低下,要么工作量太大。

您可以只使用 PHP-DIO library (dio_fcntl, dio_open, dio_read, dio_write, dio_seek, ...)。它也在 the PHP manual's entry for DIO 中:

此 PECL 包默认不可用。如果您的 PHP 5.2.x 高于 5.2.6,要获得适用于 Windows 的它,您可以将其作为 ZIP 的一部分下载:

这两个链接都在 http://www.deveblog.com/index.php/download-pecl-extensions-for-windows/ 中找到

Here is the build from Linux ,只需获取它并执行 phpize/configure/make/make install 即可。

我不知道它是否应该在 Apache session 中使用,但请使用它。

关于php - 在 Windows 上使用 PHP 进行串行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/627965/

相关文章:

php - Laravel 5. 具有多个条件的 FirstorNew

php - 在 PHP 中转义 iframe srcdoc 值的安全方法?

rust - 如何使用 serialport crate 关闭 Rust 中的串口?

delphi - 用户 GUI Activity 如何破坏我的串行端口输入

c - 如何与自制的 OSX 内核扩展进行交互?

networking - 您可以使用哪些技术对有损单向信道上的数据进行编码?

php - 适用于 Windows 服务器和 Cisco 交换机的简单 PHP 正常运行时间监视器

php - Mysql 服务器不再与服务器名连接

c++ - 无法通过串行重复写入字符串

c++ - 从另一个类调用一个类方法