如何解决 Apache 2.2.4 的地址 IP 0.0.0.0 问题

上一篇 / 下一篇  2007-05-31 18:14:17 / 个人分类:Discuz! 开发

查看( 323 ) / 评论( 11 )
经过 Discuz! 开发组测试, Apache 2.2.4 在 windows 平台下,可能无法取得访问者的 ip 数值,

这个bug甚至会影响到 access.log 以及 error.log 的记录,出现这种问题的服务器环境下,您的访问日志很可能出现类似下面的状况

CODE:

0.0.0.0 - - [31/May/2007:17:36:57 +0800] "GET /env.php?t=d HTTP/1.1" 200 91034
0.0.0.0 - - [31/May/2007:17:36:58 +0800] "GET /env.php?t=d HTTP/1.1" 200 90550
...
...
因此,在这个服务器环境下,任何php程序取得的ip都可能是 0.0.0.0

在查阅了大量相关资料的情况下,Discuz! 开发组经过反复测试, 通过在 httpd.conf 当中加入隐秘参数,可以有效避免这个问题的发生, apache 可以正常的探测到访问者的 ip 了。

修正方法:

打开 httpd.conf

在文件开头或者任意一个你认为合适的位置,增加一行下面的代码,然后重新启动 apache,ip 的问题就可以解决了。

CODE:

Win32DisableAcceptEx注意:上面这行参数必须独立占一行位置。

TAG:

cnteacher的个人空间 cnteacher 发布于2007-05-31 18:14:11
本人在 apache 2.2.4 + php 5.2.2 环境下测试成功
买空间就上买空间网 ●高速+稳定+服务+价优 pc77maikongjian 发布于2007-05-31 18:29:37
谢谢分享,测试一下看看!
tanweihai的个人空间 tanweihai 发布于2007-06-07 01:38:35
怎么看apache 是不是2.2.4版本?
GGGHHH的个人空间 GGGHHH 发布于2007-06-07 02:32:29

QUOTE:

原帖由 tanweihai 于 2007-6-7 01:38 发表
怎么看apache 是不是2.2.4版本?
上传个探针
cb1300_tw发布于2007-07-14 01:04:24
Thanks a lots.
labman发布于2007-07-14 11:15:23
呵 ~ 解決了這個問題 ~ 感謝樓主呀 ~
wiwiboy的个人空间 wiwiboy 发布于2007-09-04 17:29:05
恩 为这个问题 搞了老半天

起初还以为是程序的问题,后来print_r( $_SERVER);
才知道是服务器配置问题。

服务器的APACHE就是2.2.4

十分感谢

[ 本帖最后由 wiwiboy 于 2007-9-4 17:30 编辑 ]
lgp7226的个人空间 lgp7226 发布于2007-09-04 17:38:08
谢谢分享,我学习了。
logswan发布于2007-09-24 19:37:44
apapche也没见出个补丁补一下这个问题!
logswan发布于2007-09-24 20:07:50
刚才看了一下,windows XP下的是正常的,而windows 2000下就是0.0.0.0,很奇怪啊。不知道为什么!
lnnn发布于2007-10-19 09:00:36
问题已解决,多谢了
我来说两句

(可选)

Open Toolbar