Apache 崩溃解决 -- 修改堆栈大小
《Apache 崩溃解决 -- 修改堆栈大小》要点: 《Apache 崩溃解决 -- 修改堆栈大小》是否对您有启发,欢迎查看更多与《Apache 崩溃解决 -- 修改堆栈大小》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。 在Windows平台下用正则preg_match_all或preg_match分析比较长的字符串时,导致apache瓦解重启的原因是windows平台下默认分配的线程堆栈空间ThreadStackSize太小导致的.Windows 32默认只有256KB,而在Linux下默认值是8M,这就是为什么同样的程序在linux平台下正常,而在windows平台下不正常的原因. 那么如何增加Windows平台下ThreadStackSize的大小呢?在apache的配置文件httpd.conf里启用”Include conf/extra/httpd-mpm.conf”,然后在httpd-mpm.conf文件里的mpm_winnt_module配置模块里设置”ThreadStackSIze 8400000”即可(大约8M). 代码如下:
这里必要注意的是,32位的Apache程序只能最多使用大约2GB内存空间!因此,ThreadStackSize和ThreadsPerChild的值相乘后(8M*350)不应该超过2G,否则无法启动apache,出现的错误日志如下:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |