remington_young 发表于 2018-11-21 06:52:13

让apache执行CGI程序

设置Apache执行CGI程序

访问http://192.168.10.10/cgi-bin/test
时访问的是 另外目录下的 cgi 程序。

http://hi.csdn.net/attachment/201104/29/112323_13040764333xjt.jpg
如此设置后,cgi-bin 目录下的任何文件都以 CGI 程序运行。

设置 cgi-bin 目录下的文件用 CGI 执行。
http://hi.csdn.net/attachment/201104/29/112323_13040764336C8k.jpg

设置 cgi-bin 之外目录下的文件中可以执行 CGI 程序,在 options 后加上 ExecCGI 选项

http://hi.csdn.net/attachment/201104/29/112323_1304076434xOc3.jpg

设置以 相应后缀名的文件作为CGI 程序执行

http://hi.csdn.net/attachment/201104/29/112323_1304076434dhFN.jpg

这样设置完毕,其它目录下的 .cgi , .sh(shell), .pl(perl) 文件都将当做 CGI 程序执行,而不是当做文本文件来处理。

http://10.10.103.14:8088/CGI/test.sh

实例:

shell 脚本:

test.sh



   view plaincopy

[*]  #!/bin/sh
[*]  # disable filename globbing
[*]  set -f
[*]  echo "Content-type: text/plain; charset=iso-8859-1"
[*]  echo       # 此处必须有输出一个空行,所有 CGI 程序都有此规定
[*]  echo CGI/1.0 test script report:
[*]  echo
[*]  echo argc is $#. argv is "$*".
[*]  echo
[*]  echo SERVER_SOFTWARE = $SERVER_SOFTWARE
[*]  echo SERVER_NAME = $SERVER_NAME
[*]  echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE
[*]  echo SERVER_PROTOCOL = $SERVER_PROTOCOL
[*]  echo SERVER_PORT = $SERVER_PORT
[*]  echo REQUEST_METHOD = $REQUEST_METHOD
[*]  echo HTTP_ACCEPT = "$HTTP_ACCEPT"
[*]  echo PATH_INFO = "$PATH_INFO"
[*]  echo PATH_TRANSLATED = "$PATH_TRANSLATED"
[*]  echo SCRIPT_NAME = "$SCRIPT_NAME"
[*]  echo QUERY_STRING = "$QUERY_STRING"
[*]  echo REMOTE_HOST = $REMOTE_HOST
[*]  echo REMOTE_ADDR = $REMOTE_ADDR
[*]  echo REMOTE_USER = $REMOTE_USER
[*]  echo AUTH_TYPE = $AUTH_TYPE
[*]  echo CONTENT_TYPE = $CONTENT_TYPE
[*]  echo CONTENT_LENGTH = $CONTENT_LENGTH
  



  




页: [1]
查看完整版本: 让apache执行CGI程序