如何在CGIBIN中执行shell脚本?

如何在CGIBIN中执行shell脚本?,cgi,shellexecute,cgi-bin,Cgi,Shellexecute,Cgi Bin,好的,首先,我是一名PHP程序员,但我从来没有用CGI做过任何事情,也不知道它是什么。我知道它代表公共网关接口,但我不知道它做什么或它的用途 我刚刚被告知,我可以上传一个shell脚本到我的cgi-bin文件夹并执行它 我制作了一个shell脚本myscript.sh,并将其上传到我的cgi-bin文件夹。我注意到的第一件事是我的cgi-bin文件夹是我根目录的同级目录,而不是子目录。所以我不知道我将如何访问它 因此,我在我的根目录下创建了一个名为cgi-bin2的目录,并将脚本放在那里(并将它

好的,首先,我是一名PHP程序员,但我从来没有用
CGI
做过任何事情,也不知道它是什么。我知道它代表公共网关接口,但我不知道它做什么或它的用途

我刚刚被告知,我可以上传一个shell脚本到我的cgi-bin文件夹并执行它

我制作了一个shell脚本
myscript.sh
,并将其上传到我的cgi-bin文件夹。我注意到的第一件事是我的cgi-bin文件夹是我根目录的同级目录,而不是子目录。所以我不知道我将如何访问它

因此,我在我的根目录下创建了一个名为
cgi-bin2
的目录,并将脚本放在那里(并将它们chmod到755)。然后我从我的浏览器访问它,它所做的只是下载文件


我遗漏了什么吗?

CGI应该发送一个内容类型标题:

#!/bin/sh
printf "Content-Type: text/plain\n\n"
your_commands_here
另存为cgi bin文件夹中的
anything.sh
(扩展名不重要)和
chmod 755

cgi-bin
不必是您的公共html文件夹的子文件夹,它可以是。

好的,所以我要求我的主机添加一个别名,他们添加了。我去了
mydomain.com/cgi-bin/myscript.sh
它加载,但只是一个空白页面。我看不出我在期待什么。我想我至少可以看到myscript.sh的内容,但它是空白的,即使在我查看源代码时也是如此。有点困惑。如果您得到一个带有内部服务器错误响应的空白页,则会发生错误。查看错误日志。