Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / PHP / Руководство по РНР 3.0 /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Приложения - Программирование от RIN.RU
Приложения

Отладчик PHP


Использование отладчика


Отладчик PHP полезен при отслеживании неочевидных ошибок. Он работает через TCP порт каждый раз, когда стартует PHP. Все сообщения об ошибках из запроса будут посланы по этому TCP соединению. Информация этого раздела нужна при работе с такими редакторами как Emacs, или в интегрированной среде разработки (IDE).


Действия по установке отладчика:


  1. Задайте порт TCP, который будет использоваться отладчиком в php3.ini (debugger.port) и разрешите его использование ( debugger.enabled).

  2. Установите пассивный сокет на этот порт (например, командой socket -l -s 1400 в UNIX).

  3. Внутри вашего кода запустите debugger_on(host), где host - запустите IP-адрес хоста, на котором запущен пассивный сокет.


Теперь все предупреждения, замечания и т.д. будут показаны на этом сокете, даже если вы выключили error_reporting().


Протокол отладчика


Протокол отладчика основан на отдельных строках. Каждая строка имеет свой тип; несколько строк могут составлять сообщение. Каждое сообщение начинается со строки с типом start и заканчивается строкой с типом end. PHP может посылать строки с несколькими сообщениями одновременно.


Строка имеет следующий формат:


date time host(pid) type: message-data


date

Дата в формате ISO 8601 (yyyy-mm-dd)

time

Время, включая микросекунды: hh:mm:uuuuuu

host

Имя DNS или IP-адрес хоста, где было сгенерировано сообщение об ошибке.

pid

PID (id процесса) на хосте host процесса исполнившего скрипт PHP в котором произошла ошибка.

type

Тип строки. Сообщает получающей программе как трактовать содержимое строки:

Типы строк отладчика
ТипЗначенне
startСообщает получающей программе, что в этом месте начинается сообщение. Содержимое строки dataсодержит тип сообщения об ошибке (см. ниже).
messageСообщение об ошибке.
locationИмя файла и номер строки, содержащей ошибку. Первая строка location содержит местоположение, data содержит информацию file:line. Строка location всегда следует после строки message и function.
framesЧисло кадров в дампе стека. Если их четыре, ожидается информация о четырех уровнях вызываемых функций. Если эта строка отсутствует, глубина предполагается нулевой (ошибка произошла на высшем уровне вложенности).
functionИмя функции, содержащей ошибку. Повторяется один раз для каждого уровня в стеке вызовов функции.
endСообщает получающей программе, что сообщение отладчика закончено.

data

Данные строки.





Типы ошибок отладчика
ОтладчикВнутренняя в PHP
warningE_WARNING
errorE_ERROR
parseE_PARSE
noticeE_NOTICE
core-errorE_CORE_ERROR
core-warningE_CORE_WARNING
unknown(любая другая)



Пример. Пример сообщения об ошибке


1998-04-05 23:27:400966 lucifer.guardian.no(20481) start: notice
1998-04-05 23:27:400966 lucifer.guardian.no(20481) message: Uninitialized variable
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: (null):7
1998-04-05 23:27:400966 lucifer.guardian.no(20481) frames: 1
1998-04-05 23:27:400966 lucifer.guardian.no(20481) function: display
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: /home/ssb/public_html/test.php3:10
1998-04-05 23:27:400966 lucifer.guardian.no(20481) end: notice

<<<  Назад
 1  2  3 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Введение в PHP3

Возможности PHP3

Установка

Конфигурация

Синтаксис и грамматика

Элементы языка

Выражения

Справочник функций

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь