2017-03-09 27 views
-1
"Warning: fopen(com3): failed to open stream: Permission denied in D:\XAMP\htdocs\Backend\arduino.php on line 4" 

我的代碼如下通過FOPEN在PHP訪問Arduino的串口監視器輸出給了我許可被拒絕錯誤

<?php 
    exec("mode COM3 BAUD=9600 PARITY=N data=8 stop=1 xon=off"); 

    $fp = fopen("com3", "r"); 
    if (!$fp) { 
     echo "Not open"; 
    } else { 
     $string = fgets($fp); 
     echo $string; 
     fclose($fp); 
    } 
?> 

所有參數都正確(或所以我認爲),港口是COM3的波特率也是正確的。我不知道的其他代碼只是將它從interent中分離出來。 Arduino和PHP集成新手。引導我。謝謝

+0

請放你已經嘗試了更好的描述。 – sfratini

+0

嘗試使用管理權限運行Xampp。右鍵單擊XAMPP,然後以管理員身份運行 – Nevermore

+0

@但不能以管理員身份運行,無法運行。 –

回答

0

問題通過使用dio_open解決。

  • 您必須首先下載dio_open表格的擴展名here

  • 提取dll文件,並把它添加到XAMP \ PHP \分機

  • 編輯php.ini文件並添加擴展那裏。

最後的代碼看起來是這樣的:

<?php 
    ini_set("display_errors", "1"); 
    error_reporting(E_ALL); 
    exec("mode COM3 BAUD=9600 PARITY=N data=8 stop=1 xon=off"); 

    $fd = _open('com3', O_RDWR); 

    if (!$fd) { 
    echo "Not open"; 
    } else { 
    $string = dio_read($fd,1024); 
    echo $string; 
    } 
    dio_close($fd); 
?> 
相關問題