В настоящее время я работаю websocket
демон в CodeIgniter 2. Демон запускается с помощью nohup
и работает в вечной петле. Вывод ошибки отформатирован как HTML. Тем не менее, я хотел бы, чтобы ошибки регистрировались без форматирования HTML. Есть ли у CodeIgniter возможность сделать это возможным?
РЕДАКТИРОВАТЬ:
Я не только отслеживаю ошибки. Я также экономлю websocket
журнал. Журнал содержит функции, которые были запущены и другую полезную информацию. Я не хочу скрывать ошибки из журнала, так как они могут быть полезны для отслеживания некоторых ошибок. Я хочу войти в мой обычай websocket
сообщения вместе с ошибками, которые могут возникнуть.
Команда запуска демона:
nohup php /usr/share/nginx/html/index.php websocket server > /var/log/websocket/$(date +"%Y%m%d_%H%M%S") 2>&1 &
Ошибки в журнале выглядят так:
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Notice</p>
<p>Message: Undefined index: REMOTE_ADDR</p>
<p>Filename: core/Input.php</p>
<p>Line Number: 351</p>
Я думаю, что вы все немного перепутали, есть логи и выходные данные, создаваемые страницей / скриптом.
Что вы делаете, это сохраняете выходные данные из сценария в журнал, все выходные данные, включая ошибки php, уведомления, предупреждения и ошибки codeigniter (невозможно подключиться к базе данных).
Насколько я знаю, Codeigniter не имеет ничего общего с ошибками PHP, что означает, что это форматирование на самом деле происходит из самого процесса php, насколько я знаю, вы не можете предотвратить этот формат.
Если вы хотите перехватить все ошибки, вы можете подавить все ошибки и использовать нативный php error_get_last
метод, это возвращает что-то вроде этого:
Array
(
[type] => 8
[message] => Undefined variable: a
[file] => C:\WWW\index.php
[line] => 2
)
Однако, если у вас возникнет ошибка компиляции, этот метод не будет работать, так как для его компиляции необходим код.
Apache должен автоматически сохранять ошибки для вас, я уверен, что это можно настроить в php.ini, но я этого не делал в течение некоторого времени.
В заключение, я не думаю, что сохранение всего вывода в журнале было бы лучшим способом отследить ошибки.
Ссылка на документы: http://php.net/manual/en/function.error-get-last.php
Других решений пока нет …