В настоящее время я пытаюсь получить Xdebug для работы на нашем сервере разработки. В качестве клиента я использую netbeans, и соединение пока работает без проблем. Но когда я пытаюсь установить точку останова в netbeans, это просто игнорируется.
И да, я уже много часов работал в Интернете, а также нашел здесь несколько вопросов, которые идеально соответствовали моему описанию: SO 1 SO 2
Но для меня это, похоже, не решает. Модуль Xdebug
загружается через zend_extension = путь/в/xdebug. поэтому в
/etc/php5/conf.d/xdebug.ini
Я также посмотрел php5/apache и php5/cli php.ini, чтобы убедиться, что он не загружен с расширением = где-то там. Я также проверил "дополнительные файлы .ini", найденные phpinfo() и, похоже, нигде больше не загружен.
Выполняя php -m, я вижу загруженный модуль Xdebug в
[PHP Modules]
и в
[Zend Modules]
Не уверен, что это означает, что он по-прежнему загружен дважды, или если это так? Тем не менее, если я удаляю zend_extension=/path/to/xdebug.so
из conf.d/xdebug.ini
, он также больше не загружается. Поэтому я действительно предполагаю, что он загружен только там.
Если я установил параметр remote_log, увидим, что Netbeans
пытается что-то установить:
<- breakpoint_set -i 452 -t line -s enabled
-f file:///http:/development.xxx.de/users/itsame/index.php -n 15
-> <response xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set"
transaction_id="452" state="enabled" id="258870001">
</response>
Но, похоже, это не имеет никакого эффекта (выглядит примерно так же, как и в других вопросах SO, которые я опубликовал выше. Но если я использую ручной xdebug_break() внутри php-кода, он правильно его обрабатывает.
Версия PHP - 5.2.6, а Xdebug - 2.1. Любые предложения, по которым я мог бы смотреть дальше?