如何在apache下从bash脚本启动c程序

如何在apache下从bash脚本启动c程序,c,apache,bash,C,Apache,Bash,谁能帮帮我吗。 我有以下脚本: #!/bin/bash cache_query=$QUERY_STRING xxx=`echo $cache_query | grep -o 'x=[0-9]*' | sed 's/x=//g'`; yyy=`echo $cache_query | grep -o 'y=[0-9]*' | sed 's/y=//g'`; zzz=`echo $cache_query | grep -o 'z=[0-9]*' | sed 's/z=//g'`; let "z

谁能帮帮我吗。 我有以下脚本:

#!/bin/bash

cache_query=$QUERY_STRING
xxx=`echo $cache_query | grep -o 'x=[0-9]*' | sed 's/x=//g'`;  
yyy=`echo $cache_query | grep -o 'y=[0-9]*' | sed 's/y=//g'`;
zzz=`echo $cache_query | grep -o 'z=[0-9]*' | sed 's/z=//g'`; 
let "zzz=18-$zzz"   
content_type=`echo $cache_query | grep -o 'type_image=[a-z]*' | sed 's/type_image=//g'`;
db_name=`echo $cache_query | grep -o 'db=[a-z]*' | sed 's/db=//g'`;     


echo "Content-type: image/"${content_type}
echo ""


case "$db_name" in
"genshtab" ) db_path="/home/bases/gena.sqlite";;
"yasat"    ) db_path="/srv/ftp/upload/yasat.sqlitedb";;
esac


echo "x = " $xxx "y = " $yyy "z = " $zzz "type = " $content_type "database = " $db_name "db_path = " $db_path; #оставляю на всякий $
./tget ${db_path} ${db_name} "/mnt/tmpfs" ${content_type} ${zzz} ${yyy} ${xxx}
cat /mnt/tmpfs/${db_name}/${zzz}/${yyy}/${xxx}.${content_type}
我在c上写了tget程序,所以如果我写

./tget /srv/ftp/upload/yasat.sqlitedb yasat /mnt/tmpfs png 17 0 1
在bash行中,一切都很顺利,但是如果我尝试在apache下从bash脚本调用这个程序 程序没有启动,我的日志中没有错误,
有人知道为什么吗?

我正在解决一个问题,下一步用sudo启动c程序 sudo./tget。。。。。。
并添加到/etc/sudoers功能,使用www数据进行无密码sudo查询

您是否尝试提供tget的完整路径以从bash脚本执行它?修复查询字符串解析器和的可能重复,然后如果您仍然无法完成,请尝试发布一个新问题,以最小的大小写重现您的问题。另见