2011-12-04 67 views
0

我已經下載了dio extension-> php_dio.dll(版本5.2.6.6)並將其放入擴展名dir php,然後將extension = php_dio.dll放入php.ini中,然後重新啓動apache。我不能使用dio_extension php

中的phpinfo

()顯示:see here

我在一些論壇,它是舊版本DIO擴展閱讀。

我試着運行this script

<?php 
    // Create a stream context that configures the serial port 
    // And enables canonical input. 
    $c = stream_context_create(array('dio' => 
     array('data_rate' => 115200, 
       'data_bits' => 8, 
       'stop_bits' => 1, 
       'parity' => 0, 
       'is_canonical' => 1))); 

    // Are we POSIX or Windows? POSIX platforms do not have a 
    // Standard port naming scheme so it could be /dev/ttyUSB0 
    // or some long /dev/tty.serial_port_name_thingy on OSX. 
    if (PATH_SEPARATOR != ";") { 
     $filename = "dio.serial:///dev/ttyS0"; 
    } else { 
     $filename = "dio.serial://COM5"; 
    } 

    // Open the stream for read only and use it. 
    $f = fopen($filename, "r+", false, $c); 
    if ($f) { 
     echo "Writing to port...\n"; 
     fprintf($f,"Hello world\n"); 
     echo "Reading from port...\n"; 
     $data = fgets($f); 
     if ($data) { 
      echo $data; 
     } 
     fclose($f); 
    } 
?> 

,但我總是得到警告:的fopen(dio.serial:// COM5)[function.fopen]:未能打開流:沒有這樣的文件或目錄中

dio擴展不能在Windows中工作?或者我正在使用舊版本?

如果我使用舊版本,在哪裏可以找到更新版本的dio擴展。

在此先感謝。

回答

0

嘗試dio_open()。 PECL服務器上的最新版本是0.0.4RC4。你在那裏有一個錯誤標記的0.0.2預發行。

如果你想pander更多選項(而不是檢查上次提到的權限thingy),那麼socat可能是。它將設備映射到套接字上。存在一個Windows(Cygwin)二進制文件。

此外,雖然我不想因個人喜好而反感任何人。如果你不堅持使用Windows,你就不會有這些問題。

評論將不會被回答。