В настоящее время я пытаюсь заставить Xdebug работать на нашем сервере разработки. В качестве клиента я использую NetBeans, и соединение пока работает без проблем.
Но когда я пытаюсь установить точку останова внутри NetBeans, это просто игнорируется.
И да, я уже часами гуглил и нашел здесь несколько вопросов, которые идеально подходят под мое описание:
SO 1
SO 2
Но, похоже, это не решает меня. Модуль Xdebug
загружается через zend_extension = path / to / 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.
Любые предложения, где я мог бы посмотреть дальше?