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:\webserver\Apache24\logs\error.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:\webserver\Apache24\bin>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:\webserver\Apache24\bin>httpd.exe -t
2
Syntax OK
四:zend關聯錯誤
解決思路:
zend 關了,具體做法是,打開php.ini,把以下兩行註釋掉,問題終於解決..... [zend]zend_extension="D:\php\ext\ZendOptimizer.dll" 這樣APACHE終於可以運行正常了。
沒有留言:
張貼留言