У меня есть машина Vagrant с:
В некоторых случаях я получаю такую ошибку: 500 Internal Server Error.
И это есть в сообщении в php5-fpm.log
[09-Dec-2015 20:01:24] WARNING: [pool www] child 608 exited on signal 11 (SIGSEGV) after 368.307577 seconds from start
А в файле error.log у меня такое сообщение:
[Wed Dec 09 20:01:24.944748 2015] [fastcgi:error] [pid 535:tid 140236008924928] (104)Connection reset by peer: [client 192.168.33.1:57201] FastCGI: comm with server "/usr/lib/cgi-bin/php5-fcgi" aborted: read failed
[Wed Dec 09 20:01:24.945014 2015] [fastcgi:error] [pid 535:tid 140236008924928] [client 192.168.33.1:57201] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php5-fcgi"
Я проверил свой php.ini, чтобы обновить следующие параметры:
max_execution_time = 360
max_input_time = 180
memory_limit = 512M
Это моя конфигурация файла opcache:
zend_extension=opcache.so
opcache.enable=0 ; for now disabled
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=2000 ; Using "find /home -type f -print | grep php | wc -l" produced 226540 php files.
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=0
opcache.revalidate_freq=60
opcache.fast_shutdown=1
а это мой php5-fpm.conf
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization -idle-timeout 3600
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
Я читал об ошибке, но не могу найти четкого способа ее решения или узнать, что случилось с приложением, чтобы вернуть эту ошибку.
Спасибо.
Оскар
Кажется, ваш скрипт закончился max_execution_time. Может быть, 360
Было бы очень полезно узнать, какая функция занимает большую часть времени выполнения. Вы можете использовать медленный журнал php-fpm.
В файле пула (/etc/php5/fpm/pool.d/www.conf) найдите:
Перезапустите php-fpm, закройте этот файл, и, возможно, вы сможете отследить свою огромную функцию.
Из записи журнала мне кажется, что это проблема с тайм-аутом.
Предполагая, что вы можете обслуживать некоторые страницы PHP и что ошибка, о которой вы сообщаете, относится только к одной странице, я бы попытался удалить код на странице, пока вы не найдете блок, который может вызывать тайм-аут, и работать оттуда. Возможно, у вас есть запрос к базе данных, который требует уточнения, или вы ссылаетесь на внешнюю веб-службу, которая не отвечает.