2011-12-29 2 views
7

Есть ли функция PHP или какой-либо другой способ получения журнала ошибок PHP в виде строки?Получить PHP-журнал ошибок с PHP

Мне нужно это, потому что я не могу получить доступ к журналу ошибок на сайте, который я запускаю на чужом сервере. - Он предложил написать мне журнал ошибок, но это не совсем удобно.

Есть ли способ, чтобы я мог вывести журнал ошибок на страницу php?


UPDATE

Я теперь понимаю, что просмотр журнала ошибок весь сервер является на самом деле не произойдет для меня, однако, я знаю, что вы можете сделать что-то вроде этого, чтобы отправить вручную error_log вызов самостоятельно:

error_log('A really bad error',3,'[email protected]'); 

Возможно ли настроить страницу для отправки по электронной почте ошибок вместо их отображения?

+0

Не очень хорошее решение ..., но когда вы знаете путь к файлу журнала ошибок, вы можете получить его содержимое с помощью 'file_get_contents'. – evotopid

+0

См. [Error_log] (http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log) настройку php.ini. – mario

ответ

8

На плохо защищенном сервере, да. Но на большинстве серверов есть два пользователя: apache и [you]. У вас нет доступа к журналам сервера, поскольку они принадлежат пользователю apache (или независимо от того, какой сервер вы используете).

Однако, вероятно, можно попробовать:

echo file_get_contents('/var/log/httpd/error_log'); 

Примечание: это расположение по умолчанию на RedHat на основе сервера Apache. Это может быть различным

UpdateЧтобы отразить обновленный вопрос
Нет, вы не можете просмотреть журнал ошибок с error_log - это односторонний процесс, который получает обрабатываются веб-сервером. Он записывает только журнал, но вы не можете его прочитать.

Вы, вероятно, может отображать ошибки с этим:

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

Вы можете даже использовать set_error_handler обрабатывать все предупреждения и уведомления (например, отправить их по почте). Но это почти все, что вы можете сделать.

+0

Привет, я на сервере debian, просто попробовал это, но получил «операцию не разрешенную» –

+0

Тогда это правильно защищенный сервер ;-) Просто попросите человека отправить вам журналы. –

+0

Хорошо, вы думаете, что можете взглянуть на мой обновленный вопрос? –

Смежные вопросы