~ Каждую неделю мой веб-сайт Laravel выходит из строя с ошибкой 500.Перезапуск Apache временно исправляет это.
Изначально я получал следующую ошибку в журналах Laravel:
[2018-09-18 11:31:09] production.ERROR: exception
'Symfony\Component\Debug\Exception\FatalErrorException' with message
'Allowed memory size of 4194304000 bytes exhausted (tried to allocate
140038032930024 bytes)' in Unknown:0 Stack trace: #0 {main}
Я обновил memory_limit
в файле php.ini
(а также обновил свойec2).Это заставило ошибку уйти.
Теперь я получаю 500
ошибок при загрузке сайта (после недели обычного использования) и обнаружил следующую ошибку в моем /var/log/apache2/error.log
файле.
[Tue Oct 02 00:54:08.219442 2018] [core:notice] [pid 26736] AH00051: child pid 1068 exit signal Segmentation fault (11), possible coredump in /etc/apache2
Нескольковещи, которые я пробовал.
- Очистить кэш: После того, как я заметил, что объем кэшированной памяти высок, я запустил
sync && echo 3 > /proc/sys/vm/drop_caches
, это не помогло. - Удаление некритических модулей PHP: это было сложнопроверить, и я не уверен, какие модули могут вызвать проблему.Каждый раз, когда я удалял модуль, мне нужно было перезапускать apache (который все равно исправит проблему).
- Искал бесконечные циклы: я не мог найти в своей базе кода ничего, что делало это, худшее, что я могfind была страница, которая выполняет 5 запросов ajax при загрузке страницы.
Спецификации
- PHP 5.5.9-1
- Ubuntu 14.04.4 LTS
- Laravel 5.2.45
- New Relic
- Apache
- PHP Модули:
- bcmath
- bz2
- календарь
- Core
- ctype
- curl
- date
- dba
- dom
- ereg
- exif
- fileinfo
- filter
- ftp
- gd
- gettext
- hash
- iconv
- json
- libxml
- mbstring
- mcrypt
- memcached
- mhash
- mysql
- mysqli
- newrelic
- openssl
- pcntl
- pcre
- PDO
- pdo_mysql
- Phar
- posix
- readline
- Отражение
- сеанс
- шмоп
- SimpleXML
- мыло
- розетки
- SPL
- стандарт
- sysvmsg
- sysvsem
- sysvshm
- tokenizer
- wddx
- xml
- xmlreader
- xmlwriter
- Zend OPcache
- zip
- zlib
- [Zend Modules]
- Zend OPcache
- Модули Apache:
- core_module (статический)
- so_module (статический)
- watchdog_module (статический)
- http_module (статический)
- log_config_module(статический)
- logio_module (статический)
- version_module (статический)
- unixd_module (статический)
- access_compat_module (общий)
- alias_module(общий доступ)
- auth_basic_module (общий доступ)
- authn_core_module (общий доступ)
- authn_file_module (общий доступ)
- authz_core_module (общий доступ)
- authz_host_module (общий доступ)
- authz_user_module (общий доступ)
- autoindex_module (общий доступ)
- deflate_module (общий доступ)
- dir_module (общий доступ)
- env_module (общий доступ)
- filter_module (общий доступ)
- mime_module (общий доступ)
- mpm_prefork_module (общий)
- gotiation_module (общий)
- php5_module (общий)
- rewrite_module (общий)
- setenvif_module (общий)
- socache_shmcb_module (общий доступ)
- ssl_module (общий доступ)
- status_module (общий доступ)