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

mon code est le suivantAccès sortie moniteur série Arduino en PHP via fopen me donne l'erreur de permission refusée

<?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); 
    } 
?> 

Tous les paramètres sont corrects (ou si ce que je pense), le port est COM3 le baud est également correct. Le reste du code je ne sais pas juste eu l'interent. Nouveau pour l'intégration Arduino et PHP. Guide-moi. Merci

+0

S'il vous plaît mettre une meilleure description de ce que vous avez déjà essayé. – sfratini

+0

Essayez d'exécuter Xampp avec les privilèges d'administration. Faites un clic droit sur XAMPP, puis exécutez en tant qu'admin – Nevermore

+0

@Nevermore exécuter comme admin ne aide pas. –

Répondre

0

Le problème a été résolu en utilisant dio_open.

  • Vous devez d'abord télécharger l'extension de la forme dio_open here.

  • Extrait du fichier dll et l'ajouter à XAMP \ php \ ext

  • Modifier le fichier php.ini et ajoutez votre extension là.

Le code final ressemble à ceci:

<?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); 
?>