ЗАДНИЙ ПЛАН
Использование Xdebug с PHP и Komodo IDE и Eclipse PDT.
Xdebug установлен на сервере и работает правильно. Это подтверждается тем, что команды кода Xdebug работают должным образом, когда они вставлены в файлы PHP на сервере.
ПРОБЛЕМА
Подключение к рабочей станции клиента не работает, и трудно определить, почему, поскольку он не работает с несколькими IDE.
ВОПРОС
Было бы неплохо иметь пошаговый контрольный список для устранения неполадок, когда вы знаете, что Xdebug установлен и работает на сервере, но клиент не подключается.
Может ли кто-нибудь помочь добавить к этому подробный контрольный список устранения неполадок?
В частности, существует ли какой-либо способ, чтобы сетевой трафик достиг клиента, и правильно ли он отформатирован так, как IDE ожидает увидеть данные?
SSH в веб-хостинге и попытайтесь связаться с клиентом:
Проверка настроек брандмауэра на базе программного обеспечения на клиенте
ЦЕЛЬ
Цель состоит в том, чтобы найти какое-то решение, когда человек на клиентской машине может хотя бы подтвердить, что что- то доходит до клиента, без необходимости определять, является ли среда IDE проблемой, поскольку IDE – это еще один уровень сложности, который может представлять проблемы.
Это то, что я определенно хочу включить в документацию Xdebug. Я думаю, что было бы лучше, если бы многие люди сотрудничали в этом, поэтому я создал файл в репозитории xdebug.org github ( https://github.com/derickr/xdebug.org/blob/master/html/docs /tutorials/troubleshooting.rest ) для сбора подсказок. Не стесняйтесь развиваться и расширяться!
На стороне Xdebug в будущей версии (2.2) он уже выгружает в свой файл xdebug.remote_log несколько дополнительных диагностических средств, например, пытался ли он подключиться и было ли соединение принято или отклонено.
Вы можете использовать утилиту debugclient, чтобы определить, может ли клиент получать соединения Xdebug, как вы можете прочитать в документации Xdebug :
Прежде чем начать свой скрипт, вам нужно будет сообщить своему клиенту, что он может получать отладочные соединения, пожалуйста, обратитесь к документации конкретного клиента о том, как это сделать. Чтобы использовать связанный клиент, просто запустите его после компиляции и установки. Вы можете запустить его, запустив «debugclient». Если вы хотите использовать командлет GDB для отладки ваших сценариев, убедитесь, что вы используете debugclient в комплекте с Xdebug 1.3, поскольку тот, который поставляется с Xdebug 2, работает только с набором команд DBGp. Когда запускается debugclient, он покажет следующую информацию, а затем ждет, пока сервер отладки не инициирует соединение:
Xdebug Simple DBGp client (0.10.0) Copyright 2002-2007 by Derick Rethans. - libedit support: enabled Waiting for debug server to connect.
После подключения выводится вывод сервера отладки:
Connect <?xml version="1.0" encoding="iso-8859-1"?> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///home/httpd/www.xdebug.org/html/docs/index.php" language="PHP" protocol_version="1.0" appid="13202" idekey="derick"> <engine version="2.0.0RC4-dev"><![CDATA[Xdebug]]></engine> <author><![CDATA[Derick Rethans]]></author> <url><![CDATA[http://xdebug.org]]></url> <copyright><![CDATA[Copyright (c) 2002-2007 by Derick Rethans]]></copyright> </init> (cmd)
Здесь вы можете найти дополнительную информацию об этом протоколе инициализации Xdebug 2.
Дальнейшая ссылка: Как проверить установку xdebug .
К сожалению, утилита debugclient предоставляется только в исходной форме, поэтому вам нужно самостоятельно создать исполняемый файл; это можно сделать либо в Linux (см. INSTALL ), либо в Windows (с Visual Studio – см. debugclient.dsp ).
XAMPP включает скомпилированную версию в xampp/php/debugclient.exe
.
Netbeans имеет очень тщательную документацию, в которой также рассматриваются способы устранения таких проблем:
Пользователи Windows отключили брандмауэр, а затем повторите попытку. Если это сработает, разрешите Java (TM) платформу SE бинарно через брандмауэр, затем включите ее снова. Все будет хорошо!
Спасибо за команды, они были очень полезны при отладке.