Есть несколько вещей, которые нужно рассмотреть в первую очередь:
- Во-первых, ваш пользователь PHP может не иметь доступа к файлам журнала Apache.
- Во-вторых, PHP и Apache не скажут вам, где находится указанный файл журнала,
- Наконец, файлы журнала Apache могут быть довольно большими.
Однако, если ни один из них не применим, вы можете использовать обычные команды чтения файлов, чтобы сделать это.
Самый простой способ получить последнюю ошибку -
$contents = @file('/path/to/error.log', FILE_SKIP_EMPTY_LINES);
if (is_array($contents)) {
echo end($contents);
}
unset($contents);
Вероятно, есть лучший способ сделать это, не затягивая память, но я оставлю это как упражнение для читателя.
Последний комментарий: в PHP также есть настройка ini для перенаправления ошибок PHP в файл журнала: error_log = /path/to/error.log
Вы можете установить это в httpd.conf или в файле .htaccess (если у вас есть доступ к нему), используя запись php_flag:
php_flag error_log /web/mysite/logs/error.log