错误提示:
- [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
-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 =