什么会导致PHP应用程序间歇性地在负载下进行分段?

发布这个在stackoverflow,但它似乎更相关在这里…我正在做一些负载testing(使用jMeter)在PHP应用程序(这是一个symfony应用程序,如果重要的话)。 我已经在apache / mod_php和nginx / php_fpm设置下进行了testing,并且使用了多个版本的php,apache,nginx和linux,并且日志中充满了这些错误。 我正在努力解决为什么这些段错误正在发生:

[星期三三月13 00:54:47 2013] [通知]孩子PID 18830退出信号总线错误(7),可能coredump在/ tmp / apache2-gdb转储

[Wed Mar 13 00:54:55 2013] [notice] child pid 19016 exit signal总线错误(7),可能在/ tmp / apache2-gdb-dump中有coredump

[Wed Mar 13 00:54:56 2013] [注意] child pid 19002退出信号总线错误(7),可能的coredump在/ tmp / apache2-gdb-dump

[注意] child pid 19041退出信号总线错误(7),/ tmp / apache2-gdb-dump中可能的coredump

当我从核心转储生成一个回溯,我得到

[新LWP 588] [使用libthread_db启用线程debugging]使用主机libthread_db库

“/lib/i386-linux-gnu/tls/i686/nosegneg/libthread_db.so.1”。 核心是由`/ usr / sbin / apache2 -k start'生成的。 程序终止信号7,总线错误。

0 lex_scan(zendlval = 0xb6d2ce38)在/build/buildd/php5-5.4.6/Zend/zend_language_scanner.c:2260

线程1(线程0xb7485700(LWP 588)):

0 lex_scan(zendlval = 0xb6d2ce38)在/build/buildd/php5-5.4.6/Zend/zend_language_scanner.c:2260

所以也许这是parsing? 但是我对php内部知道的知之甚less,所以我不太确定。 什么可能导致这个?

这个bugreport指的是同样的问题: https ://bugs.php.net/bug.php?id = 52752

似乎并发文件写道&&读取导致它。 错误报告也表明它不会马上修复。

因此,我会build议对代码进行深入的检查,并对访问同一文件的各种渠道使用不同的命名scheme。

只要看看这个链接。 它为我工作。

http://www.php.net/git.php#buildconf_fail