我們的老師有一個網絡服務器,我們被允許測試一些東西。我連接到具有膩子服務器,並試圖以下命令:將字符串寫入虛擬文件?
echo "i 4 r 255 g 0 b 0." > /dev/ttyACM0
ttyACM0
是虛擬文件重定向流以一個串行接口。這個特定的命令改變rgb led的顏色。但是,同樣的命令不會在PHP與exec
或shell_exec
工作:
<?php
// Script saved at /home/STUDENT_NAME/public_html/blink.php
echo shell_exec("echo \"i 4 r 255 g 0 b 0.\" > /dev/ttyACM0"); // Doesn't work
echo shell_exec("echo \"Hello\""); // Returns "Hello"
?>
我知道exec
和shell_exec
沒有被禁用,因爲第二次調用shell_exec
作品。我的下一個想法是使用fopen("php://memory", "a");
,但我不知道如何使用這些包裝。所以我的問題:
- 如何正確使用這些包裝? (也許像
"php://memory/dev/ttyACM0"
) - 有沒有更好的解決方案?
'public_html'建議Apache。 Web服務器用戶是否允許寫入該文件?此外,缺少錯誤消息表明您沒有配置PHP來顯示它們。 – 2014-09-22 15:20:38