Недавно я обновил производственный сервер с PHP 7.4 до PHP 8.0 (с использованием пакетов ondrej). В качестве эталона я использую Ubuntu 20.04.3, apache2.4.46 и теперь PHP8.0.
Примерно через 18 часов сервер apache перестал отвечать, выдав ошибку пустых данных ответа. Апач выдал следующую ошибку:
[core:notice] [pid 1285919] AH00051: дочерний pid 1329445 сигнал выхода Ошибка сегментации (11), возможный дамп ядра в /etc/apache2
К сожалению, дампов ядра не было. /etc/apache2/
. Я также видел противоречивую информацию о включении дампов ядра, а именно о том, что CoreDumpDirectory может вызвать проблемы с размерами файлов и другими вещами.
Мне было интересно несколько вещей:
- Как мне отладить apache2 в производственной системе? Должен ли я включить дампы ядра? Каков наилучший способ убедиться, что он не сойдет с ума и не заполнит дисковое пространство?
- Как я могу гарантировать, что он не упадет снова? Есть ли какой-нибудь инструмент мониторинга или инструмент, который я должен использовать для перезапуска apache?
- Это просто проблема с пакетом PHP8.0? Кто-нибудь сталкивался с этим в последнее время? Ниже приведены пакеты, установленные через php -m:
[Модули PHP]
amqp
календарь
Основной
ctype
завиток
датировать
десятичный
дом
exif
FFI
информация о файле
фильтр
фтп
гд
получить текст
магия
хэш
значокv
многозначный
международный
json
LDAP
libxml
mbstring
кэш памяти
memcached
монгодб
пакет сообщений
mysqli
mysqlnd
OAuth
openssl
pcntl
пкре
ЗОП
pdo_mysql
pdo_sqlite
Фар
posix
рафф
строка чтения
редис
Отражение
ррд
сеанс
швабра
ПростойXML
Розетки
натрий
уровень звукового давления
sqlite3
стандартный
sysvmsg
sysvsem
sysvshm
аккуратный
токенизатор
UUID
xhprof
XML
xmlreader
xmlwriter
xsl
як
батат
Zend OPcache
молния
zlib
змк
[Зенд-модули]
Zend OPcache
я смог просто бежать служба apache2 перезапуск
чтобы все снова заработало, но за ~ 3 года или около того, когда я обновлял PHP7/7.1/7.2/7.3/7.4, у меня не было подобных проблем с apache2.
Любые советы приветствуются.