Мы недавно установили WT-NMP и в настоящее время запускаем Php-Cgi с php 5.4.24.
Мы запускаем довольно простые скрипты php и при тестировании все работает нормально.
На выходных мы хотели, чтобы сервер продолжал тестировать его в течение более длительного периода времени. Сервер и скрипты работали нормально весь день в пятницу, но где-то поздно в субботу php-cgi перестал работать.
В журнале ошибок нет ошибок (C: \ WT-NMP \ log). В конфигурации (php.ini) у меня установлены следующие параметры: error_reporting = E_ALL display_errors = On display_startup_errors = On log_errors = On html_errors = On error_log = "c: /wt-nmp/log/php_error.log"
У нас также есть стандартные журналы ошибок nginx.conf: access_log "c: /wt-nmp/log/nginx_access.log"; error_log "c: /wt-nmp/log/nginx_error.log" предупредить;
Итак, поскольку каталог журнала пуст, я предполагаю, что запущенные скрипты php и общие операции nginx не вызывают остановку php-cgi.
Итак, мои вопросы: что еще может вызвать остановку работы php-cgi? Есть ли какие-то другие варианты ведения журнала, которые мы могли бы включить, которые помогут нам отследить это? Есть ли другие места для журналов, на которые мы должны обратить внимание?
Спасибо!
Следующий параметр отлично работает для Windows 2012 R2 Server !!!
Панель управления-> Система-> Расширенные настройки системы-> Дополнительно-> Переменные среды-> Системные переменные-> Создать -> Имя переменной: PHP_FCGI_MAX_REQUESTS & Значение переменной: 0
Что еще могло привести к остановке работы php-cgi?
Это вызвано ошибками в PHP. php-cgi не очень хорошо поддерживается.
Есть ли какие-то другие варианты ведения журнала, которые мы могли бы включить, которые помогут нам отследить это? Есть ли другие места для журналов, на которые мы должны обратить внимание?
Нет. Вы можете найти что-нибудь в журнале событий Windows. Бегать windbg
с участием php-dev-sdk
(символы отладки). http://www.windbg.org/
Если вы что-то нашли, прикрепите полную трассировку отладки и сообщите об ошибке на https://bugs.php.net/report.php
Как разработчик WT-NMP, Я могу вам сказать WT-NMP представляет собой стек разработки для Windows и не должен использоваться на производственных серверах.
Php-cgi может остановиться по многим причинам (ОС, память, сеть), не связанным с вашим PHP-кодом. На производственных серверах Linux есть диспетчер процессов (php-fpm), который отслеживает / перезапускает / регистрирует такие сбойные процессы. Доза диспетчера серверов WT-NMP этого не делает (пока).
Не существует директив конфигурации, которые могли бы помочь вам исследовать эту проблему. Любое расследование следует начинать на уровне ОС.
В качестве обходного пути в conf / php.ini вам следует увеличить memory_limit, отключить все ненужные / нестабильные расширения php, особенно xcache, xdebug и opcache.
Обновление: последняя версия WT-NMP теперь отслеживает и перезапускает аварийные процессы php-cgi.