CGI问题:500 Internal Server Error

错误提示:

  • [error] (13)Permission denied: exec of /usr/local/apache2/cgi-bin/test-cgi failed
    [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: 
解决办法:

(1)关闭SElinux以及防火墙

        防火墙可通过setup命令设置关闭

        SELinux关闭:修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。

(2)

原因是从客户端上传到服务器上的可执行文件没有执行权限。
-rwxr----- 1 root   root     160 04-28 10:04 filename
解决办法:chmod 755 filename
==============修改过后===============
-rwxr-xr-x 1 root   root     112 04-29 12:29 junk.pl
-rwxr-xr-x 1 root   root   31900 03-04 15:49 libAVAPIs.so
-rwxr-xr-x 1 root   root   72876 03-04 15:49 libIOTCAPIs.so
-rwxr-xr-x 1 root   root   18056 03-04 15:49 libRDTAPIs.so
-rwxr----- 1 root   root     160 04-28 10:04 Makefile
-rw-r--r-- 1 c7user c7user   294 2005-02-04 printenv
-rwxr-xr-x 1 root   root    8295 04-28 11:07 SetPass
-rw-r--r-- 1 root   root    4389 04-28 13:53 setpass.c
-rwxr-xr-x 1 c7user c7user   779 2005-02-04 test-cgi

查找错误二error while loading shared libraries并解决

在错误日志中查看,提示如下:

[Mon Apr 29 20:00:41 2013] [error] [client 222.201.146.139] /usr/local/apache2/cgi-bin/SetPass: error while loading shared libraries: libIOTCAPIs.so: cannot open shared object file: No such file or directory

这个问题有两个解决办法:

error while loading shared libraries: xxx.so.x"错误的原因和解决办法 

请记住,在把***.so上传到/usr/local/lib后,记得修改so文件的执行权限(chmod 755 filename)

查找错误三Premature end of script headers并解决

在调用cgi后首先输出:Content-type:text/html\n\n

调用cgi带有参数

http://121.14.119.122:8090/cgi-bin/test-cgi?we+wwerq+1234

输出如下:

CGI/1.0 test script report:
argc is 3. argv is we wwerq 1234.
SERVER_SOFTWARE = Apache/2.0.64 (Unix)
SERVER_NAME = 121.14.119.122
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/1.1
SERVER_PORT = 8090
REQUEST_METHOD = GET
HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
PATH_INFO = 
PATH_TRANSLATED = 
SCRIPT_NAME = /cgi-bin/test-cgi
QUERY_STRING = we+wwerq+1234
REMOTE_HOST =
REMOTE_ADDR = 222.201.146.139
REMOTE_USER =
AUTH_TYPE =
CONTENT_TYPE =
CONTENT_LENGTH =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值