您的位置:首页 > 其它

移植boa后运行CGI程序加载LD_LIBRARY_PATH环境变量问题

2014-05-20 16:48 941 查看
最近被一个问题所困扰,运行那个helloworld.cgi程序总是出现以下这个错误:

502 Bad Gateway The CGI was not CGI/1.1 compliant.

网上找了一下,可能是这几个原因:

(1)将.cgi文件拷贝至目标板上后,必须改变其权限 chmod 755 *

(2)测试程序中“//“的问题。参考<Web服务器--Boa实验笔记> http://www.pc51.net/system/unix/linux/2007-02-07/6888.html
(3)修改 BOA 源码 cgi.c 添加环境变量:
my_add_cgi_env(req, "LD_LIBRARY_PATH", "/lib");(函数complete_env中) 再重新交叉编译即可

(4) 同时请修改下 boa对CGI支持的缺陷。

(5)出现这个问题的原因是关于“库”方面的原因。

如果你编译CGI文件的时候,用静态编译,则编译的时候,会自动地加入库。 arm-linux-gcc -static test.c -o test.cgi (http://topic.csdn.net/t/20061120/13/5171006.html#有相关讨论)

(6) 说它不支持http 1.1 协议,那你在ie中也使用http 1.0协议访问它试试看。方法是点“工具”->"internet选项“->"高级",把“使用http 1.1协议"前面的勾去掉。

(7)如果是用flashfxp工具传送文件到目标板上,请选用二进制模式传送。我自己就出错在这里,在此感谢网友newzy帮忙解决这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐