php - 升级Apache和PHP后某个函数导致segmentation fault

标签 php apache drupal-7 segmentation-fault php-5.5

我正在从 drupal.stackexchange.com 手动迁移这个问题(已被删除)。

我最近将本地开发环境(Vagrant、Ubuntu 12.04)从 PHP 5.3.X 升级到 5.5.14,将 Apache 2.2.X 升级到 2.4.9。升级后,每当我 the debug function dpm()被称为它会导致段错误。来自 Apache 日志的片段:

[Wed Jul 09 14:33:11.474063 2014] [core:notice] [pid 6513] AH00051: child pid 6644 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Wed Jul 09 14:33:18.483516 2014] [core:notice] [pid 6513] AH00051: child pid 6640 exit signal Segmentation fault (11), possible coredump in /etc/apache2
[Wed Jul 09 14:33:25.494786 2014] [core:notice] [pid 6513] AH00051: child pid 6619 exit signal Segmentation fault (11), possible coredump in /etc/apache2

注意,在升级了PHP和Apache之后,我后来决定将Ubuntu升级到14.04。问题还是一样。

Drupal 7.30
Devel 7.x-1.5 (Drupal module)

禁用 OpCache 并没有解决问题。

我安装了 gdb 并获得了核心转储。以下是结果:

/vagrant/web [git::goomba *] [vagrant@dev] [9:04]
> gdb apache2 -core core
GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from apache2...(no debugging symbols found)...done.
[New LWP 8265]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/apache2 -k start'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fd091fda437 in ?? () from /usr/lib/apache2/modules/libphp5.so

当我运行 (gdb) backtrace full 时:

#0  0x00007fd091fda437 in ?? () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#1  0x00007fd091fdb044 in vspprintf () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#2  0x00007fd092038537 in zend_error_noreturn ()
   from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#3  0x00007fd09205d7ff in zend_std_read_property ()
   from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#4  0x00007fd0920633c7 in ?? () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#5  0x00007fd0920a7178 in execute_ex () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#6  0x00007fd092027e86 in dtrace_execute_ex ()
   from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#7  0x00007fd0920e2f27 in ?? () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#8  0x00007fd0920a7178 in execute_ex () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#9  0x00007fd092027e86 in dtrace_execute_ex ()
   from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#10 0x00007fd0920e2f27 in ?? () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#11 0x00007fd0920a7178 in execute_ex () from /usr/lib/apache2/modules/libphp5.so
No symbol table info available.
#12 0x00007fd092027e86 in dtrace_execute_ex ()

dpm()详情

这是一个调试函数,可以漂亮地打印 PHP 变量。在引擎盖下,它使用 Krumo ,具体来说,它调用 krumo::dump() .

最佳答案

我在这里遇到了非常相似的问题 错误(很多):

[core:notice] [pid 1550] AH00051: child pid 2226 exit signal Segmentation fault (11), possible coredump in /etc/apache2

罪魁祸首是 xcache 被删除了:

apt-get --purge remove php5-xcache

Using Apache 2.4.7

php -v output:

PHP 5.5.9-1ubuntu4.5 (cli) (built: Oct 29 2014 11:59:10)

关于php - 升级Apache和PHP后某个函数导致segmentation fault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25317886/

相关文章:

php - 获取 YouTube 缩略图并将其保存到网络服务器

php - 如何在 cPanel 管理的服务器上安装 MySQLi?

c# - 我有一个 c sharp dll。我怎样才能使它在其他语言(例如 PHP 或 Delphi)中可用?

c++ - 从 Apache 正在运行的 C++ 代码调用 bash 脚本的权限问题

drupal - 如何为 Drupal 创建 RSS 源?

php - WordPress 和 PHP 5.3

apache - 在 apache 中将私有(private)域重定向到公共(public)域

css - 如何将类添加到 Drupal 7 区域?

php - 使用 XHProf 运行 drupal 页面后运行 ID 无效

php - 大流量下的网站PHP+MySQL