windows环境下的可能的原因分析及解决方法:
一:pf只涨不降,直到使用极限,最终导致内存泄漏。
(内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。)
解决思路:
方法A:编辑httpd.conf
加入
ThreadsPerChild 1000
MaxRequestsPerChild 10000
Win32DisableAcceptEx
方法B:
先取消httpd.conf文件中“# Include conf/extra/httpd-mpm.conf”行的注释;(这是为了能够启动httpd.conf文件时引用httpd-mpm.conf文件的配置。)
然后修改httpd-mpm.conf文件中以下部分的值产生作用,开始推荐1000、10000。如上显示
二:端口暂用冲突导致
解决思路:
尝试在httpd.conf配置文件查找 Lsiten 80,改成别的端口,可以改特殊一点,肯定不会用到的;
三:SSLSessionCache 错误
解决思路:
打开日志: C:webserverApache24logserror.log,可以看到很多错误,其中有这样一条:
1
[Fri Nov 16 15:53:22.390625 2012] [ssl:warn] [pid 7344:tid 1720] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]
貌似说 SSLSessionCache配置有点问题,于是乎检查下
1
C:webserverApache24bin>httpd.exe -t
2
AH00526: Syntax error on line 76 of C:/webserver/Apache24/conf/extra/httpd-ssl.conf:
3
SSLSessionCache:'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?).
看出来了,本指令需要shmcb支持(俺也不清楚是个啥,总之是要支持就对了),于是,翻开httpd.conf,找到如下一行
1
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
把前面的#去,然后看看语法检查情况:
1
C:webserverApache24bin>httpd.exe -t
2
Syntax OK
四:zend关联错误
解决思路:
zend 关了,具体做法是,打开php.ini,把以下两行注释掉,问题终于解决..... [zend]zend_extension="D:phpextZendOptimizer.dll" 这样APACHE终于可以运行正常了。