我的一些CGI脚本出现了500错误,但其他人没有。不完全确定导致问题的是什么,一些帮助将不胜感激。
/var/log/apache2/errors.log
div
Works - messageserver.sh
Start-Job -ScriptBlock {
& C:\Program Files (x86)\Application\Application.exe"
}
不起作用 - startserver.sh
[Tue Oct 20 06:12:38.436646 2015] [cgi:error] [pid 12492] [client 65.162.40.26:27886] AH01215: (2)No such file or directory: exec of '/home/rawr/development/hivecontrol/ark/startserver.sh' failed, r$
[Tue Oct 20 06:12:38.437968 2015] [cgi:error] [pid 12492] [client 65.162.40.26:27886] End of script output before headers: startserver.sh, referer: http://arkcontrol.servegame.com/
文件权限
#!/bin/bash
echo Content-type: text/html
echo
message=$(echo "$QUERY_STRING" | sed -n 's/^.*message=\([^&]*\).*$/\1/p' | sed "s/%20/ /g")
message=${message//+/ }
messageserver $message
echo "<HTML>"
echo "<meta http-equiv='Refresh' content='1; url=../'>"
echo "</HTML>"
答案 0 :(得分:0)
脚本没问题。你可能错误地将ls输出误认为是错误的。 你只需要修复if语句:
output=$(find /proc/$ark_pid/exe -maxdepth 1 -name '*ark2*')
...
if [[ -n $output ]]
...