2014-01-24 183 views
1

我開始了一個小項目,僅供我在家中練習。 我使用debian linux的樹莓派pi,在主板上安裝了apache webserver 2,我對web服務器沒有任何想法,但是一些如何設法創建帶有按鈕的html頁面以及使用按鈕click.Cgi腳本運行的cgi腳本具有html代碼響應按鈕點擊。 顯示hello world,然後命令調用shell腳本.sh。CGI腳本沒有執行或通過.sh腳本調用

殼腳本具有以下命令RPI.a(我的在C郎項目它調用GPIO管腳在命令行執行的CGI腳本時運行優良

1。)整體HTML按鈕點擊 - > 2)調用CGI腳本(帶有HTML的shell) - > 3)調用shell(.sh) - >,它調用我的應用程序閃爍指示燈。

從命令line.but按鈕點擊時從HTML手動執行的CGI當運行好它跳過「$(SH script.sh)並且執行下一行。

權限的所有文件已讀取和執行所有文件。

的CGI腳本

#!/bin/bash 
echo "Content-type: text/html" 
echo "" 
echo "<html><head><title>Bash as CGI" 
echo "</title></head><body>" 
echo "<h1>Hello world</h1>" 
"$(sh Home_auto.sh)" 
echo "skipps the program" 
echo "</body></html>" 

我Home_auto.sh腳本

sudo RPI.a<<EOF 
EOF 

將我的應用程序Dir添加到$ PATH var。

我發現它不能夠執行我的應用程序幾次,當沒有根user.Display的 RPI.a找不到命令 請幫我調用script.sh將調用我的RPI.a應用點擊按鈕。

+0

我們展示的CGI腳本。 –

+0

#/斌/ bash的-x 回聲! 「內容類型:text/html的」 回聲 「」 回聲 「 bash作爲CGI」 回聲 「」 回聲「

你好世界

「 」$(sh Home_auto。SH)」 回聲‘skipps節目’ 回聲‘’ – user3232919

+0

以上是CGI腳本我使用執行我.SH腳本我的.sh腳本有RPI.a << EOF EOF,加入我的目錄$ PATH.Thanks for the reply – user3232919

回答

0

檢查www數據能夠執行腳本(權限,路徑):

sudo su www-data /your/script.sh 
+0

它執行.sh腳本依次調用我的應用程序使用交叉編譯器 – user3232919

1

通過a2enmod運行

啓用CGI模塊如果你沒有看到下面的文件

ls /etc/apache2/mods-enabled/cgi* 

/etc/apache2/mods-enabled/cgid.conf
的/ etc/apache2的/啓用MODS-/ CG id.load

然後,你需要啓用CGI模塊

sudo a2enmod cgi 
sudo service apache2 restart 
+0

編譯的問題非常感謝你 – user3232919