Php 获取错误:调用OBD网关的未定义函数dio_fcntl()

Php 获取错误:调用OBD网关的未定义函数dio_fcntl(),php,error-handling,obd-ii,Php,Error Handling,Obd Ii,这里我想在PHPV7.0中实现OBD网关。为此,我使用了图书馆。在这个库中使用了一个函数dio\u fcntl(),我遇到了错误,无法使用它。我还从php.ini文件中启用了php_dio扩展名。但我还是犯了如下的致命错误 “致命错误:调用未定义的函数serial\dio_fcntl()” 有人能帮我整理一下吗?看一下PHP文档,它告诉您这个方法在Windows系统上不可用 你能分享你的代码吗?主要问题应该是为什么从名称空间调用dio_fcntlserial@NicoHaase我已经编辑了我的

这里我想在PHPV7.0中实现OBD网关。为此,我使用了图书馆。在这个库中使用了一个函数
dio\u fcntl()
,我遇到了错误,无法使用它。我还从php.ini文件中启用了php_dio扩展名。但我还是犯了如下的致命错误

“致命错误:调用未定义的函数serial\dio_fcntl()”


有人能帮我整理一下吗?

看一下PHP文档,它告诉您这个方法在Windows系统上不可用

你能分享你的代码吗?主要问题应该是为什么从名称空间调用dio_fcntlserial@NicoHaase我已经编辑了我的问题。这不是有效的PHP代码:它是否包含在类中?第131行是什么?@NicoHaase是的,整个代码都是在一个“串行”类中编写的。我在
dio\u fcntl($this->serial,F\u SETFL,O\u SYNC)中出错这是第131行,windows系统上还有其他选项吗?
public function __construct($device, $flags = 02)
    {
        // Attempt to set device...
        if (!$this->set_device($device))
        {
            throw new \Exception("Unable to set device for serial connection");
        }

        // Check if Direct IO extension installed
        if (!function_exists("dio_open"))
        {
            throw new \Exception("PHP Direct IO is not installed, cannot open serial connection!");
        }

        // $device : /dev/pts/ELM327
        // Create direct IO file handle with specified flags
        $this->serial = dio_open("C:/wamp/www/obd-master/".$device, $flags);

        // Set synchronous IO
        dio_fcntl($this->serial, F_SETFL, O_SYNC);

        // Set options default
        $options = array(
            "baud" => self::DEFAULT_BAUD,
            "bits" => self::DEFAULT_BITS,
            "stop" => self::DEFAULT_STOP,
            "parity" => self::DEFAULT_PARITY,
        );
        $this->set_options($options);

        return;
    }