升级到 PHP8.0 Ubuntu 20 后出现 Apache2 分段错误

升级到 PHP8.0 Ubuntu 20 后出现 Apache2 分段错误

我最近将生产服务器从 PHP 7.4 升级到了 PHP 8.0(这是使用 ondrej 包)。作为参考,我使用的是 Ubuntu 20.04.3、apache2.4.46 和现在的 PHP8.0。

大约 18 小时后,apache 服务器停止响应,并给出空响应数据错误。Apache 给出以下错误:

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

不幸的是,没有核心转储/etc/apache2/。我还看到了有关启用核心转储的相互矛盾的信息,即 CoreDumpDirectory 可能会导致文件大小和其他问题。

我想知道几件事:

  1. 我应该如何在生产系统上调试 apache2?我应该启用 coredump 吗?确保它不会发疯并填满磁盘空间的最佳方法是什么?
  2. 我如何确保它不会再次出现故障?是否有一些监控工具或工具可用于重新启动 apache?
  3. 这仅仅是 PHP8.0 软件包问题吗?最近有人遇到过这种情况吗?以下是通过 php -m 安装的软件包:
    [PHP Modules]
    amqp
    calendar
    Core
    ctype
    curl
    date
    decimal
    dom
    exif
    FFI
    fileinfo
    filter
    ftp
    gd
    gettext
    gmagick
    hash
    iconv
    igbinary
    intl
    json
    ldap
    libxml
    mbstring
    memcache
    memcached
    mongodb
    msgpack
    mysqli
    mysqlnd
    OAuth
    openssl
    pcntl
    pcre
    PDO
    pdo_mysql
    pdo_sqlite
    Phar
    posix
    raphf
    readline
    redis
    Reflection
    rrd
    session
    shmop
    SimpleXML
    sockets
    sodium
    SPL
    sqlite3
    standard
    sysvmsg
    sysvsem
    sysvshm
    tidy
    tokenizer
    uuid
    xhprof
    xml
    xmlreader
    xmlwriter
    xsl
    yac
    yaml
    Zend OPcache
    zip
    zlib
    zmq
    
    [Zend Modules]
    Zend OPcache

我能够运行service apache2 restart以使一切恢复正常运行,但是在我从 PHP7/7.1/7.2/7.3/7.4 升级后的大约 3 年内,我没有遇到过任何类似的 apache2 问题。

任何建议都值得感激。

相关内容