Использование PHP для чтения системного журнала - PullRequest
1 голос
/ 06 ноября 2010

Я пытаюсь увеличить функциональность администратора проекта php, над которым я работаю. На данный момент проект будет регистрировать все свои ошибки в системном журнале. Я пытаюсь дать странице администратора возможность прочитать системный журнал для этих ошибок. в терминале могу набрать:

cat /var/log/syslog | grep projectName

Однако, если я попытаюсь запустить эту команду с:

$output=shell_exec('cat /var/log/syslog | grep projectName');

или с:

$output=`cat /var/log/syslog | grep projectName`;

$ output всегда отображается как пустой. Есть ли способ, которым я могу сделать это? Это даже лучший способ (IE имеет собственный способ чтения системного журнала в php)?

EDIT: Похоже, проблема с разрешениями. Я мог бы дать разрешение www-data на доступ к syslog, но по какой-то причине это не кажется мне хорошей идеей Нет ли родного способа чтения журнала?

Ответы [ 3 ]

2 голосов
/ 01 марта 2011

В итоге я создал совершенно отдельный файл журнала.Это позаботилось обо всех разрешениях

1 голос
/ 06 ноября 2010

Разве вы не можете открыть / var / log / syslog себя в php вместо команды оболочки?

0 голосов
/ 07 ноября 2010

Когда-нибудь слышали о sudo?Это может быть вашим лучшим выбором, если вы заботитесь о безопасности.Но я думаю, что использование маршрута sudo слишком сложно, просто дайте разрешение на чтение веб-пользователю, это не запись для чтения.Чтобы это было согласованием безопасности, у кого-то должен быть способ написать скрипт php, который читает файл системного журнала.Если вы единственный, кто может загружать php-скрипты на ваш сервер, вам не стоит об этом беспокоиться.Для общего хостинга это проблема, потому что теперь любой сможет прочитать системный журнал сервера.

...