前段时间在帮朋友安装的服务器freebsd6.2中遇到了apache假死的症状
服务器环境freebsd6.2 RC版本
port安装的apache22
安装完毕后无法用apachectl控制apache启动和停止
freebsd# apachectl stop
httpd (no pid file) not running
freebsd# apachectl configtest
Syntax OK
freebsd# apachectl start
freebsd#
web服务无法启动
在日志中找到了
Jan 3 20:55:42 freebsd kernel: pid 1003 (httpd), uid 0: exited on signal 10 (core dumped)
Jan 3 20:57:11 freebsd kernel: pid 1016 (httpd), uid 0: exited on signal 10 (core dumped)
Jan 3 20:59:28 freebsd kernel: pid 1035 (httpd), uid 0: exited on signal 10 (core dumped)
Jan 3 21:02:05 freebsd kernel: pid 1088 (httpd), uid 0: exited on signal 10 (core dumped)
Jan 3 21:02:33 freebsd kernel: pid 1101 (httpd), uid 0: exited on signal 10 (core dumped)
Jan 3 21:04:32 freebsd kernel: pid 1126 (httpd), uid 0: exited on signal 10 (core dumped)
Jan 3 21:08:43 freebsd kernel: pid 1174 (httpd), uid 0: exited on signal 10 (core dumped)
Jan 3 21:08:46 freebsd kernel: pid 1180 (httpd), uid 0: exited on signal 10 (core dumped)
错误提示
prefork # or worker
两种模式都试过问题依然存在,请大家帮忙,在线等待答案
apache也重新编译过,port也更新过
freebsdchina.org上的几位朋友出的解决办法
yarshure兄的方法
#ktrace apachectl start
#kdump
bigsea 写到:
在进程中有httpd的进程
apachectl start
没任何错误提示,就像正常启动一样,一切ok
可就是无法监听服务
delphij兄的方法
如果是跟php有关的问题,通常可以用下面的步骤来排除:
- 将 /usr/local/etc/php/extensions.ini 改个名字
- php -v看看是否有问题,如果没有,逐个将extension加回去,看看哪个导致问题。
我个人的经验,常见的问题分成两类:一类是使用了线程版本的PHP,但所用的extension对线程支持欠佳;另一类是扩展本身有问题,例如imagick。
colddawn 写到:
php现在core内的函数都是线程安全的吗?从哪个版本开始的?另外可否提供已知的还存在线程安全隐患的extension?
PHP的core函数应该都是,不过我只能说我知道的用线程化PHP的5.2.x版本的人没有遇到问题,因为代码我也没看过。
imagick不仅是线程情形存在问题,非线程情形也有问题,只是启用线程时死的更快而已。其它的不太清楚,主要用的也不是很多。
呵呵,当时按照几位朋友的方法都没有解决问题,重装了遍6.2还是在同样的问题上卡了壳,后来在没办法的情况下只能使用必杀技:重装,降到稳定版本再次尝试;结果在使用6.1后所有问题全部解决,总结如下,推荐朋友们在重要的服务器上不要使用太新的版本,尽量使用稳定版本...


