#Что означает ошибка
signal 11
Сигнал 11 — аварийное завершение процесса, часто из-за бага расширения или нехватки памяти. Отключайте расширения по одному, обновите PHP и проверьте core dump.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Баг расширения | Проверьте работу без последнего добавленного расширения или мода; не удаляйте все компоненты одновременно. | Отключите. После проверки восстановите прежнее состояние, если ошибка не исчезла. |
| Старая версия | Уточните установленную версию и поддерживаемые требования; обновления берите только у разработчика. | Обновите. Посмотрите соответствующие настройки и журнал сервиса. |
| Нехватка памяти | Проверьте фактическое потребление памяти и наличие места для временных файлов в момент сбоя. | Увеличьте. |
| Рекурсия | Прочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации. | Исправьте. |
#Пошаговое решение
- Читайте логЕсли PHP-FPM записывает
child exited on signal 11 (SIGSEGV), сохраните время, идентификатор процесса, версию PHP и последний запрос. Это аварийное завершение процесса, часто связанное с нативным расширением, ошибкой интерпретатора или библиотекой; обычная ошибка PHP-кода не должна вызывать SIGSEGV. - Отключите расширенияАдминистратор просматривает
journalctl -u имя-реальной-службы-php-fpm -n 100 --no-pagerи системные сообщенияjournalctl -k -n 100 --no-pager, ищет OOM, сбои модулей и сведения о дампе процесса. Для аварии используетcoredumpctl listтолько если сбор дампов предусмотрен политикой безопасности и не раскрывает данные пользователей. - Обновите PHPСравните недавние изменения: обновление PHP, OPcache, ionCube, Xdebug, графических или других расширений. На тестовой копии отключайте по одному подозрительному модулю и повторяйте один и тот же запрос; не выключайте случайно все расширения на рабочем сайте и не удаляйте библиотеки системы без диагностики.
- Проверьте альтернативу: рекурсияУстановите исправленную поддерживаемую версию PHP или расширения, предварительно проверив совместимость CMS. Примените изменение только к нужному пулу, затем проверьте страницу, журнал и отсутствие новых падений под контролируемой нагрузкой. При неизвестной причине передайте разработчику стек аварии и точные версии без личных данных.
#Проверка результата
Для «PHP-FPM: child exited on signal 11 (SIGSEGV)» выполните штатную проверку конфигурации, затем один контрольный запрос к сервису. Сверьте его результат с журналом и убедитесь, что пользователи не получили новых ответов 4xx или 5xx после изменения.