gpt4 book ai didi

php - CoreDumpDirectory 不适用于 ubuntu;使用 php 获取段错误

转载 作者:可可西里 更新时间:2023-11-01 13:10:47 28 4
gpt4 key购买 nike

我正在尝试解决段错误。此消息出现在我的 apache-error.log 中:

[notice] child pid 3979 exit signal Segmentation fault (11)

我已经尝试禁用一些 apache 和 php 模块,但我仍然遇到同样的错误。

我也试过把它放在 apache2.conf 中:

CoreDumpDirectory /tmp/apache2-gdb-dump

然后 chmod 777, chown www-data... 这样服务器就可以写入了。

我看不到任何核心转储文件来提示错误。

有人知道为什么 CoreDumpDirectory 不能在 Ubuntu 上运行吗?

answers: $ ulimit -a core file size
(blocks, -c) unlimited data seg size
(kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15863 max locked memory
(kbytes, -l) 32 max memory size
(kbytes, -m) unlimited open files
(-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues
(bytes, -q) 819200 real-time priority (-r) 0 stack size
(kbytes, -s) 8192 cpu time
(seconds, -t) unlimited max user processes (-u) 15863 virtual memory (kbytes, -v) unlimited file locks
(-x) unlimited

最佳答案

我终于能够在 Ubuntu 中看到 Apache 的核心转储:

  1. 编辑/etc/default/appport
  2. 编辑 apache2.conf:

      CoreDumpDirectory /tmp/apache2-gdb-dump
  3. 确保 Apache 可以写入:

    # chmod 777 /tmp/apache2-gdb-dump
  4. 移除核心转储大小限制:

    # ulimit -c unlimited
  5. 可选地,更改核心转储的名称模式:

    # echo 'coredump-%e.%p' > /proc/sys/kernel/core_pattern

要分析转储,请使用 gdb:

$ gdb apache2 /tmp/apache2-gdb-dump/coredump-x.x

要在 gdb 中查看堆栈跟踪详细信息:

gdb> where

我做到了,并且获得了核心转储。但是,我的问题并没有通过查看 coredump 得到解决;这显然是我的 PHP 脚本中的一个问题。

更多信息: http://matrafox.info/apache-child-pid-exit-signal-segmentation-fault.html

关于php - CoreDumpDirectory 不适用于 ubuntu;使用 php 获取段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2534531/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com