php-fpm не показывает ошибки из функции php exec - PullRequest
4 голосов
/ 23 июня 2011

Я использую функцию PHP exec для запуска некоторых сценариев Python. Я использовал apache, и он регистрировал все ошибки в файле error.log. Всякий раз, когда была синтаксическая ошибка или что-то еще, это регистрировалось в журнале ошибок apache. Но теперь я установил nginx и php-fpm.

Проблема здесь в том, что при возникновении ошибки в python nginx ничего не записывает в error.log. $ Output, передаваемый в качестве второго аргумента в exec, также является пустым массивом. Так что теперь я не могу получить ошибки от python или терминала. Пожалуйста, покажите мне, как получить эти ошибки ....

Ответы [ 2 ]

4 голосов
/ 08 сентября 2011

Вы можете установить свой журнал ошибок в конфигурационном файле вашего сайта nginx: nginx/sites/sites-available/{RELEVANT SITE FILE}.

Убедитесь, что у вас есть это в вашем файле:

error_log  /var/www/logs/nginx.error.log debug_http;

Вы также можете попробовать использовать сообщение об ошибке php:

<?php

   error_reporting(E_ALL);
   ini_set('display_errors', '1');

   // Manual Error Log Creation
   error_log($customError, 3, "/var/www/logs/php.error.log");

   // YOUR CODE BELOW

?>

Еще одна вещь, на которую стоит обратить внимание, это то, что если вы вообще ничего не выводите, то это также может отображаться как ошибка. Проверьте это другое сообщение stackoverflow .

3 голосов
/ 08 сентября 2011

Nginx не несет ответственности за этот вид регистрации.

Вы должны добавить директивы регистрации ошибок на вашем php-fpm.conf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...