2014-01-24 225 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