问题描述
我使用Apache / PHP / MySQL的堆栈。结果
如使用CakePHP的框架。
每一个现在,然后我得到一个空白页。我不能调试它通过蛋糕,所以我偷看在Apache error.log中和这里就是我得到:
[周三10月12日15时27分23秒2011] [声明]儿童3580 PID退出信号分割故障(11)
[星期三10月12日15时27分34秒2011] [声明]儿童PID 3581退出信号分割故障(11)
[星期三10月12日15点30分52秒2011] [声明]儿童3549 PID退出信号分割故障(11)
[星期三10月12日16时04分27秒2011] [声明]儿童3579 PID退出信号分割故障(11)
zend_mm_heap损坏
[星期三10月12日16时26分24秒2011] [声明]儿童3625 PID退出信号分割故障(11)
[星期三10月12日17时57分24秒2011] [声明]儿童PID 3577退出信号分割故障(11)
[星期三10月12日17时58分54秒2011] [声明]儿童3550 PID退出信号分割故障(11)
[星期三10月12日17点59分52秒2011] [声明]儿童PID 3578退出信号分割故障(11)
[星期三10月12日18时01分38秒2011] [声明]儿童3683 PID退出信号分割故障(11)
[星期三10月12日22点20分53秒2011] [声明]儿童3778 PID退出信号分割故障(11)
[星期三10月12日22时29分51秒2011] [声明]儿童PID 3777退出信号分割故障(11)
[星期三10月12日22点33分42秒2011] [声明]儿童PID 3774退出信号分割故障(11)
这是什么分割的错,我怎么能解决这个问题,我不知道和会greatfully感激。
更新:
PHP版本5.3.4,OSX地方发展
服务器版本:阿帕奇/ 2.2.17(Unix的)
CakePHP的:1.3.10
gdb连接到httpd的子进程之一,重装或继续工作,等待崩溃,然后看看回溯。做这样的事情:
$ PS -ef | grep的的httpd
0 681 1 0下午10时38分? 0:00.45 /应用/甲基苯丙胺/库/斌/的httpd -k启动
501 690 681 0下午10时38分? 0:00.02 /应用/甲基苯丙胺/库/斌/的httpd -k启动
...
现在gdb连接到子进程中的一个,在这种情况下的PID 690(列的UID,PID,PPID,...)
$ sudo的GDB
(GDB)连接690
附加处理690。
阅读符号的共享库。 DONE
阅读符号共享库.......................完成
0x9568ce29在接受$ NOCANCEL $ UNIX2003()
(GDB)C
继续。
等待崩溃了...然后:
(GDB)回溯
或者
(GDB)回溯全
应该给你一些线索,这是怎么回事。如果您提交错误报告,你应该包括回溯。
如果崩溃是难以重现它可能是配置Apache,只使用一个子进程来处理请求的好主意。这个配置是这样的:
StartServers的1
比MinSpareServers 1
MaxSpareServers的1
I am using Apache/PHP/MySQL stack.
Using as framework CakePHP.
Every now and then I get a blank white page. I can't debug it through Cake, so I peek in the apache error.log and here's what I get:
[Wed Oct 12 15:27:23 2011] [notice] child pid 3580 exit signal Segmentation fault (11)
[Wed Oct 12 15:27:34 2011] [notice] child pid 3581 exit signal Segmentation fault (11)
[Wed Oct 12 15:30:52 2011] [notice] child pid 3549 exit signal Segmentation fault (11)
[Wed Oct 12 16:04:27 2011] [notice] child pid 3579 exit signal Segmentation fault (11)
zend_mm_heap corrupted
[Wed Oct 12 16:26:24 2011] [notice] child pid 3625 exit signal Segmentation fault (11)
[Wed Oct 12 17:57:24 2011] [notice] child pid 3577 exit signal Segmentation fault (11)
[Wed Oct 12 17:58:54 2011] [notice] child pid 3550 exit signal Segmentation fault (11)
[Wed Oct 12 17:59:52 2011] [notice] child pid 3578 exit signal Segmentation fault (11)
[Wed Oct 12 18:01:38 2011] [notice] child pid 3683 exit signal Segmentation fault (11)
[Wed Oct 12 22:20:53 2011] [notice] child pid 3778 exit signal Segmentation fault (11)
[Wed Oct 12 22:29:51 2011] [notice] child pid 3777 exit signal Segmentation fault (11)
[Wed Oct 12 22:33:42 2011] [notice] child pid 3774 exit signal Segmentation fault (11)
What is this segmentation fault, how can I fix this, I have no clue and would be greatfully greatful.
UPDATE:
PHP Version 5.3.4, OSX local development
Server version: Apache/2.2.17 (Unix)
CakePhp: 1.3.10
Attach gdb to one of the httpd child processes and reload or continue working and wait for a crash and then look at the backtrace. Do something like this:
$ ps -ef|grep httpd
0 681 1 0 10:38pm ?? 0:00.45 /Applications/MAMP/Library/bin/httpd -k start
501 690 681 0 10:38pm ?? 0:00.02 /Applications/MAMP/Library/bin/httpd -k start
...
Now attach gdb to one of the child processes, in this case PID 690 (columns are UID, PID, PPID, ...)
$ sudo gdb
(gdb) attach 690
Attaching to process 690.
Reading symbols for shared libraries . done
Reading symbols for shared libraries ....................... done
0x9568ce29 in accept$NOCANCEL$UNIX2003 ()
(gdb) c
Continuing.
Wait for crash... then:
(gdb) backtrace
Or
(gdb) backtrace full
Should give you some clue what's going on. If you file a bug report you should include the backtrace.
If the crash is hard to reproduce it may be a good idea to configure Apache to only use one child processes for handling requests. The config is something like this:
StartServers 1
MinSpareServers 1
MaxSpareServers 1
这篇关于" [声明]儿童PID XXXX退出信号分割故障(11)QUOT;在Apache的error.log中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!