【问题标题】:How to execute a shell script in cgi-bin?如何在 cgi-bin 中执行 shell 脚本?
【发布时间】:2010-09-03 14:38:16
【问题描述】:

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

刚刚有人告诉我,我可以将一个 shell 脚本上传到我的 cgi-bin 文件夹并执行它。

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

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

我错过了什么吗?

【问题讨论】:

    标签: cgi shellexecute cgi-bin


    【解决方案1】:

    CGI 应该发送一个 Content-Type 标头:

    #!/bin/sh
    printf "Content-Type: text/plain\n\n"
    your_commands_here
    

    在您的 cgi-bin 文件夹和 chmod 755 中另存为 anything.sh(扩展名无关紧要)。 cgi-bin 不必是公共 html 文件夹的子文件夹,它可以是 alias

    【讨论】:

    • 好的,所以我要求我的主机添加一个别名,他们做到了。我去了mydomain.com/cgi-bin/myscript.sh 它加载,但只是一个空白页。我看不出我的期望。我想我至少会看到 myscript.sh 的内容,但它是空白的,即使我查看源代码也是如此。有点困惑。
    • 如果您收到带有内部服务器错误响应的空白页面,则说明发生了错误。查看您的错误日志。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 2015-11-25
    相关资源
    最近更新 更多