Мне нужно отладить скрипт PHP на удаленном сервере, который я не могу вызвать из моего веб-браузера. Вместо этого он вызывается сторонним сервером как веб-хук.
Желательно, чтобы webhook запускал удаленный сеанс Xdebug и просматривал код в среде IDE NetBeans, которую я использую.
Я использую туннель SSH для подключения удаленного отладчика к моей машине для разработки.
Я не могу использовать переменную GET / POST / COOKIE с webhook, поэтому я установил xdebug.remote_autostart=1
, чтобы, тем не менее, запустить сеанс отладки.
Я добавил пару точек останова на свою страницу и открыл ее в редакторе IDE во время запуска вызова webhook с третьего сервера.
Тем не менее сеанс отладки не запускается. Я знаю, что страница выполняется, потому что я добавил к ней несколько команд регистрации.
Можно ли вообще делать то, что я хочу? Спасибо за любые подсказки и комментарии!
При ответе, пожалуйста, обратите внимание: я не приму ответ, который рекомендует записывать в файл, потому что это то, что я уже делаю.
Спасибо!
Вот раздел Xdebug моего php.ini (и да, это правильный экземпляр файла php.ini):
xdebug.idekey="netbeans-xdebug"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_connect_back=0
xdebug.remote_autostart=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
Вот журнал Xdebug сессии.
[21318] Log opened at 2019-04-01 19:50:38
[21318] I: Connecting to configured address/port: 127.0.0.1:9000.
[21318] I: Connected to client. :-)
[21318] -> <init xmlns="urn:debugger_protocol_v1"
xmlns:xdebug="https://xdebug.org/dbgp/xdebug"
fileuri="file:///var/www/couchback/update.php"
language="PHP"
xdebug:language_version="7.0.33-0ubuntu0.16.04.2"
protocol_version="1.0"
appid="21318"
idekey="netbeans-xdebug">
<engine version="2.7.0"><![CDATA[Xdebug]]></engine>
<author><![CDATA[Derick Rethans]]></author>
<url><![CDATA[https://xdebug.org]]></url>
<copyright><![CDATA[Copyright (c) 2002-2019 by Derick Rethans]]></copyright>
</init>
[21318]
[21318] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" re
ason="ok"></response>
[21318]
[21318] Log closed at 2019-04-01 19:50:40
Сеанс отладки запущен, но по какой-то причине в среде IDE, похоже, нет необходимости Вероятно, это из-за отсутствия idekey в URI? У меня нет возможности добавить idekey, поскольку webhook исходит от третьей стороны. Это может быть вариант, чтобы отправить webhook на прокси-сервер и переадресовать вызов с добавленным к нему idekey. Я буду рад услышать любые другие предложения, которые не так сложны.