免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1987 | 回复: 7
打印 上一主题 下一主题

[Web] 我这个Internal Server Error错误是什么问题啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-09 08:52 |只看该作者 |倒序浏览
error_log里面日志如下:
malformed header from script. Bad header=<HTML>:<文件名>

我执行cgi-bin下面的一个cgi程序,程序正常应该输出一个html页面,结果报这个错误。
在服务器上直接执行这个cgi程序输出正常,开头“Content-type:text/html”也带了俩换行。
帮忙看一下

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2005-12-09 12:02 |只看该作者
服务器上直接执行cgi毫无意义。
malformed header from script就是输出的头错误,一定程序写错了

论坛徽章:
0
3 [报告]
发表于 2005-12-09 12:52 |只看该作者
程序没有错,同样的程序,同样菜单www配置,3台aix,两台输出正常,其中两台操作系统版本配置完全一样。另外,三台的httpd.conf除了路径不同外,其他都一样。

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2005-12-09 13:12 |只看该作者
原帖由 quil 于 2005-12-9 12:52 发表
程序没有错,同样的程序,同样菜单www配置,3台aix,两台输出正常,其中两台操作系统版本配置完全一样。另外,三台的httpd.conf除了路径不同外,其他都一样。


如果真的完全一样居然有出错有正常,世界上不会有这样的事情。

在出错的机器上,写个最简单的perl程序

#!/usr/local/bin/perl

print "Content-type: text/plain; charset=iso-8859-1\n\n";
print "OK"

如果还出错,就绝对不可能三台是一样的

论坛徽章:
0
5 [报告]
发表于 2005-12-09 16:04 |只看该作者
我的意思是说,不是程序的问题,是环境和配置的问题,不知道谁遇到过这个情况。

  1. #!/usr/bin/perl

  2. print "Content-type: text/html\n\n";
  3. print "<HTML><body>OK</body></html>"
复制代码

上面运行正常

  1. echo "Content-type: text/html\n"
  2. echo "<html><body>ok</body></html>"
复制代码

这个用shell的就不行。奇怪

  1. #!/usr/bin/ksh
  2. echo "Content-type: text/html\n"
  3. echo "<html><body>ok</body></html>"
复制代码

这样就可以了,可是我的cgi是用c写的啊。该怎么处理啊?!

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2005-12-09 16:10 |只看该作者
echo "Content-type: text/html\n"
echo "<html><body>ok</body></html>"


php?少了一个\n

malformed header from script错误和配置没有关系。

用c写的cgi程序要放到ScriptAlias指定的目录。

论坛徽章:
0
7 [报告]
发表于 2005-12-09 17:14 |只看该作者
我就是放在指定的目录下面,后面两个是用unix的shell写的。跟\n的个数没有关系,echo输出本身就带一个\n

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2005-12-09 17:32 |只看该作者
原帖由 quil 于 2005-12-9 17:14 发表
我就是放在指定的目录下面,后面两个是用unix的shell写的。跟\n的个数没有关系,echo输出本身就带一个\n



兄弟这是你程序写的不对。
使用shell写cgi
第一要加上
#!/bin/sh
第二\n没有用处
你再试试

#!/bin/sh
echo "Content-Type:text/html";
echo
echo
echo "ok"
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP