AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 13391
Accepted
jeroen
jeroen
Asked: 2009-05-28 16:16:19 +0800 CST2009-05-28 16:16:19 +0800 CST 2009-05-28 16:16:19 +0800 CST

Linux / apache web-server 分段错误警告

  • 772

最近我在我的网络服务器上收到了很多分段错误警告。

警告看起来像:

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

我咨询了服务器提供商(它是专用的 redhat 企业服务器),他们找不到任何东西。

到目前为止我做了什么:

由于错误我已经尝试了以下方法:

  • 我添加了更多的内存
  • 我已经关闭/打开了几个 php 模块(他们将我发送到有人遇到同样问题的网页,这是由过多的 php 模块引起的)

在警告发生的那一刻,似乎还有大量可用内存,并且进程数非常低(httpd 进程数约为允许的最大值的四分之一)。

什么可能导致这些错误?

编辑:当前版本

  • 阿帕奇:2.0.52
  • php: 5.2.8
  • RHEL 4

编辑 2:虽然我很久以前就问过这个问题,但直到我升级到 php 5.3 才能够解决它。

linux php redhat apache-2.2
  • 8 8 个回答
  • 12744 Views

8 个回答

  • Voted
  1. Charlie Martin
    2009-05-28T17:07:40+08:002009-05-28T17:07:40+08:00

    好的,分段错误是程序错误的指示;这不是内存太少的问题。当程序试图访问它不允许访问的内存时,就会发生这种情况。

    如果它发生在 Apache 中,您需要启用核心转储并重新启动 httpd 进程。在Apache 文档中有执行此操作的指南。

    • 3
  2. Zoredache
    2009-05-28T16:35:08+08:002009-05-28T16:35:08+08:00

    什么可能导致这些错误?

    有助于诊断问题的一件事是,如果您尝试查找发生此错误时正在查看的页面/资源。如果您能够检查您的访问日志以查看在发生段错误的同时发生了什么。

    某些 php 脚本或其他东西可能正在做一些导致崩溃的事情。一旦你弄清楚是什么页面/文件导致了崩溃,那么你就可以深入了解它在做什么,或者是否有可用的错误修复。

    • 2
  3. Best Answer
    Viky
    2009-05-28T20:46:21+08:002009-05-28T20:46:21+08:00

    多次观察到“exit signal Segmentation fault (11)”错误。当 apache 崩溃时某些脚本未完成时,就会发生这种情况。

    如果您在 apache 上使用基于 PHP 的网站,这很可能会发生。

    如果您使用的是 PHP,请检查 conf.d/php.conf 中 php config 中的以下配置:

    <Files *.php>
        SetOutputFilter PHP
        SetInputFilter PHP
        LimitRequestBody 524288
    </Files>
    

    删除LimitRequestBody线。并观察。错误应该消失。

    此外,如果您将 apache 与 php 一起使用,则以下版本可以完美运行。apache 2.0.43 和 php 4.3.0_RC1

    注意:这个答案纯粹是基于我过去对我所面临的错误和问题的研究。让我知道您当前的配置和反馈。

    • 2
  4. Dana the Sane
    2009-05-28T16:25:22+08:002009-05-28T16:25:22+08:00

    您最近是否更新了 apache 或其任何模块?我认为,当您有一个针对不同界面版本(在我的情况下为外籍人士)构建的 mod 时,我已经看到了这个问题。如果您可以将其缩小到几个软件,请检查所有版本信息。请参阅http://www.dscpl.com.au/wiki/ModPython/Articles/ExpatCausingApacheCrash

    • 1
  5. Jim OHalloran
    2009-05-28T16:26:17+08:002009-05-28T16:26:17+08:00

    通常,当我看到这种情况时,它是由执行无限递归的 PHP 脚本引起的。您可以使用 error_log 上的时间戳来识别可能导致问题的 access_log 请求。如果那里有任何 PHP 脚本请求,您(或您的开发人员)应该查看这些页面,看看那里是否存在任何潜在问题。

    吉姆。

    • 1
  6. kovert
    2009-05-31T09:15:06+08:002009-05-31T09:15:06+08:00

    前几天我最近遇到了一个错误,它与 MySQL 没有正确访问 Cacti 数据库有关。

    文件 global_forms.php 中有一个数组,它将数组设置为键的值之一。该数组有一个键和一个称为函数的值,用于从数据库加载配置值。我从没想过这种组合会导致分段错误,但是在跟踪它之后没有其他原因。

    • 1
  7. caseyboardman
    2009-08-18T12:41:53+08:002009-08-18T12:41:53+08:00

    您是否下载了正确的 mod_whatever?我有类似的情况,我为 Solaris 下载了 mod_jk,但是我运行的 Apache 是从 Sun 包含的,并且不是用 gcc 编译的,而是用他们的编译器编译的。我必须下载 mod\jk 源代码并使用 Sun 编译器进行编译。

    我知道这是在黑暗中拍摄的,但由于没有答案被标记为已选择,我想我会把它扔在那里。

    • 1
  8. user55589
    2010-09-29T18:28:30+08:002010-09-29T18:28:30+08:00

    查看此博客条目以获取有关如何使用核心转储以查找 PHP 代码中的错误的详细信息:

    http://www.omh.cc/blog/2008/mar/6/fixing-apache-segmentation-faults-caused-php/

    这不是我的博文——我只是偶然发现它并发现它很有用。

    斯科特

    • 1

相关问题

  • mod_rewrite 不转发 GET 参数

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve