2013-02-28 33 views
2

我正在試圖從PHP腳本中獲取我在C中執行的文件。儘管我沒有發現任何錯誤,但它並沒有迴應。我可以通過命令行運行腳本,只需要./serialTest Blah Blah,預期的結果就是獲取命令行參數並將它們輸出到LCD屏幕上,該屏幕在命令行中非常好用。試圖執行PHP中編譯爲C的文件

讓它在PHP運行我使用exec("./serialTest " . $inputField這個項目的目標是採取從網頁的輸入文本字段,它會使其出現在LCD屏幕上,他們可以看到他們通過鍵入的內容現場攝像頭饋送。

腳本沒有執行我在代碼中是否有錯誤或者這是不可能的?如果不能這樣做,我想知道是否有替代方案。我意識到可能會有一些主要的安全威脅,但這對我和一些朋友來說只是家庭服務器上的一個有趣的項目。

+0

您不能使用'exec'命令在命令提示符下顯示輸出,它只會在網頁中顯示結果。 – 2013-02-28 04:28:23

+0

我意識到我在C寫的腳本使用串口將信號發送到與電腦完全分離的2x16 LCD。我不想將它回顯到網頁中。 'C'腳本在'。/ serialTest'之後接受任何命令行參數,並將其輸出到LCD。 – Yamaha32088 2013-02-28 04:31:38

+1

如果您的腳本在LCD屏幕上顯示輸出,則可能是您沒有給出正確的文件路徑來執行該命令。試着給出完整的文件路徑。 – 2013-02-28 04:33:37

回答

1

一兩件事你可以嘗試:

exec("./serialTest {$inputField}", $output, $status); 
echo "status: " . $status; 
echo "output: " . implode("\n", $output); 
+0

沒有去那個命令要麼 – Yamaha32088 2013-02-28 04:37:50

+0

你可以給它一個二進制的完整路徑一槍。 – 2013-02-28 04:40:13

+0

也試過也 – Yamaha32088 2013-02-28 04:40:38

0

如果啓用安全模式下,您只能在safe_mode_exec_dir之內的執行文件。

也許你應該將C程序的所有者/組更改爲php,apache或網站文件的'用戶'。

+0

我嘗試了安全模式,但是在進一步閱讀文檔後發現它已被刪除,我找不到它。 – Yamaha32088 2013-02-28 23:04:33

相關問題