Настройка Atom + Xdebug
Я пытаюсь настроить Xdebug, потому что устал от использования эха и var_dumps.
Я использую Atom как IDE с плагином php-debug.
Я использую laravel Homestead vm в качестве сервера. переадресованный порт 9000 - 9999
У Atom установлен плагин со следующими настройками:
![введите описание изображения здесь]()
Я установил точку останова в Atom, я перехожу к своей странице, но точка останова не запускается.
У меня есть догадка, что это имеет какое-то отношение к ключу IDE, но я не знаю, как это сделать.
![введите описание изображения здесь]()
Кто-нибудь знает ключ IDE для атома?
Или есть что-то еще, что мне не хватает?
edit: я добавил следующее в xdebug.ini:
xdebug.auto_trace = 0
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 0
xdebug.collect_vars = "Off"
xdebug.default_enable = "On"
xdebug.dump.COOKIE = ""
xdebug.dump.FILES = ""
xdebug.dump.GET = ""
xdebug.dump.POST = ""
xdebug.dump.REQUEST = ""
xdebug.dump.SERVER = ""
xdebug.dump.SESSION = ""
xdebug.dump_globals = 1
xdebug.dump_once = 1
xdebug.dump_undefined = 0
xdebug.extended_info = 1
xdebug.file_link_format = ""
xdebug.idekey = "VVVDEBUG"
xdebug.manual_url = "http://www.php.net"
xdebug.max_nesting_level = 100
xdebug.overload_var_dump = 1
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "/tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "192.168.50.1"
xdebug.remote_log = /srv/log/xdebug-remote.log
xdebug.remote_mode = "req"
xdebug.remote_port = 9000
xdebug.show_exception_trace = 0
xdebug.show_local_vars = 0
xdebug.show_mem_delta = 0
xdebug.trace_format = 0
xdebug.trace_options = 0
xdebug.trace_output_dir = "/tmp"
xdebug.trace_output_name = "trace.%c"
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
xdebug.var_display_max_depth = -1
Ответы
Ответ 1
Как @sparkos72 говорит, что атомный ключ xdebug.atom
работает для меня на Ubuntu 16.04 и Debian 7:-). Я пытаюсь расширить их ответ.
Я использовал php-debug расширение атома с этой конфигурацией в xdebug.ini(путь:/etc/php5/apache2/conf.d/xdebug.ini).
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=172.17.0.1
xdebug.remote_port=9000
xdebug.idekey=xdebug.atom
xdebug.remote_autostart=true
У меня есть докер-контейнер с debian 7 + apache + php 5, причина в том, что я использую ip 172.17.0.1 вместо 127.0.0.1. Моя "настоящая" машина - это Ubuntu.
Надеюсь, что это поможет.
Ответ 2
IDE-ключ - это xdebug.atom для меня (mac/apache). В конфигурации Atom php-debug установите для порта сервера 9000
Ответ 3
Я знаю, что поздно, но снова:
В вашем файле .ini есть следующее:
xdebug.idekey = "VVVDEBUG"
что означает, что вам нужно установить значение "VVVDEBUG" (без кавычек) в настройках расширения "Самый простой Xdebug", где вы сейчас используете "Atom"
Ответ 4
Ни один из ответов не работал у меня, поэтому я оставляю один из своих.
Настройка
- Убедитесь, что xdebug включен;
sudo phpenmod xdebug
или эквивалент
- Убедитесь, что xdebug настроен правильно:
- xdebug.remote_enable = 1
- xdebug.remote_handler = DBGp
- xdebug.remote_mode = REQ
- xdebug.remote_host = 172.17.0.1 (согласно вашей настройке)
- xdebug.remote_port = 9000 (согласно вашей настройке)
- Не делал xdebug.remote_autostart, потому что он запускает отладочную информацию даже для обычных запросов. Таким образом, даже если вы не находитесь в режиме отладки для расширения Chrome/Firefox, будет предпринята попытка передать отладочные данные, что может замедлить работу без каких-либо причин.
- Установить расширение Xdebug chrome/firefox и установить IDE-ключ как
xdebug-atom
(я также нашел xdebug.atom
).
Отладка
Когда вы действительно хотите что-то отладить,
- Добавить точку останова, где вы хотите в своем коде;
Alt + F9
или эквивалент.
- Откройте панель PHP Debug в Atom;
Ctrl + Alt + D
или эквивалент. Если вы используете определенные версии Ubuntu, вы можете захотеть изменить ярлык Ctrl + Alt + D
, который может действовать как Show Desktop. В этом случае нажмите кнопку "Отладка PHP" в среде IDE, чтобы переключить отладчик.
- Отладчик должен сказать что-то вроде Прослушивание порта 9000 или порт, который вы установили в настройках PHP Debug.
- Откройте страницу, которую вы хотите отладить в своем браузере (если она еще не открыта) и щелкните значок расширения отладки, чтобы включить режим отладки. Это фактически устанавливает файл cookie в вашем документе, например
XDEBUG_SESSION=xdebug-atom
и т.д.
- Как только расширение отладки включено, обновите страницу, и вы сможете использовать отладчик (если все пошло правильно).
Надеюсь, это поможет. Понадобилось время, чтобы заставить его работать. Теперь мне не нужно покупать PHP Storm!