куда идут выходные данные консоли Apache, когда Apache запускается как служба?
Вопрос
(ОС Windows 7) – я работаю через log4php Apache.Эта страницаhttp://logging.apache.org/log4php/quickstart.html похоже, для PHP, запускаемого в окне консоли, а не для PHP, запускаемого веб-сервером Apache.Однако меня интересует вход в последний контекст.
В разделе «Расширенный пример» код, как и ожидалось, записывается в файл журнала.Но там, где также говорится: «Это дает следующий результат в консоль:ИНФОРМАЦИЯ — У нас есть взлет», я пытаюсь выяснить, куда на самом деле идет этот выход.Он не регистрировался в браузере или во встроенных файлах журналов Apache.
Я нашел следующий вопрос, связанный с стандартным выводом/выводом PHP: Стандартный вывод PHP на Apache - а затем я выполнил (используя BASH для Windows) следующую команду после закрытия установленной службы Apache (чтобы вместо этого запустить Apache на «переднем плане»):
httpd -D FOREGROUND -k start
Никакой радости...это также не привело к регистрации этого сообщения о «взлете» в браузере.Он также не записался ни в один из встроенных файлов журналов Apache.Есть идеи, где/если я могу найти вывод консоли?
Решение
А LoggerAppenderConsole
регистрируется в STDOUT, опционально в STDERR.
В обычном контексте Apache у вас нет консоли, поэтому входить в нее неправильно.Обычный способ — войти в любое из имеющихся средств журналирования:Файлы, системный журнал, PHP echo
, базы данных, PHP trigger_error
и т. д.
Если вы хотите иметь видимый результат в этом примере с минимальными изменениями, измените LoggerAppenderConsole
к LoggerAppenderEcho
.Это очень похоже на вывод, который вы увидите на консоли, но теперь внутри сгенерированного HTML.
Или вы просто запускаете сценарий в командной строке Windows.Для этого потребуется только путь к исполняемому файлу PHP, например C:\Whatever\Path\php.exe script.php
.