В качестве самоличного лога ошибок (только для себя) очень неплохо использовать Debug_HackerConsole товарища Котерова. Очень удобно: получается вроде как бы и на сайт ошибки-то выводятся, и самому сайту не мешают.
Но вот в сеть это выставлять уже не стоит, нечего пользователям знать о таком.
Я умудрился хакер-консоль прикрутить так, что она только админам доступна. ))
Классная штука. Но есть проблема... Выдирать потом (когда детище готово) из большого проекта все вызовы методов долго...
Самый оптимальный способ отлаживать веб-сайты - не отлаживать их вообще :-) Из опыта использования Ruby on Rails могу сказать, что юнит-тесты в большинстве своем исключают надобность отладки.
Да, аналогично для скриптования в PHP, в "Zend Studio" есть Debugger и брейкпоинты, так же и в простом редакторе PHP Experd Editor есть Debugger и брейкпоинты.
Но лично я, уж извините за "дет-сад", методом: мысленной диагностики вариантов данных вводимых в часть кода и выводимых из нее; и еще с "print ..." или "print_r(...)" таких данных.
[prog] debug при разработке сайтов