Отладка PHP в Atom при использовании Vagrant

Моя среда разработки PHP работает на виртуальной машине VirtualBox и предоставляется через vagrant. Как я могу использовать php-debug в Atom на моем хост-компьютере для отладки сценариев PHP, запущенных на одной из моих виртуальных машин?

2

Решение

Настройте xdebug:

Откройте файл php.ini на своей виртуальной машине, найдите параметры xdebug и убедитесь, что у вас есть следующие значения:

xdebug.remote_autostart=1
xdebug.remote_connect_back=0
xdebug.remote_mode=req
xdebug.remote_log=/tmp/xdebug.log
xdebug.remote_host=10.0.2.2
xdebug.remote_port=9999

Примечание: у вас может быть несколько файлов php.ini, например один для cli, fpm и т. д. Если вы это сделаете, вам нужно убедиться, что у вас установлены вышеуказанные настройки xdebug для всех сред, где вы хотите использовать отладчик, например, Мне пришлось изменить /etc/php5/cli/php.ini, чтобы использовать отладчик в командной строке, и /etc/php5/fpm/php.ini, чтобы использовать отладчик при запуске сценариев PHP с Apache.

Перезапустите свой веб-сервер или любые другие службы, связанные с PHP, например,

$ sudo service apache2 restart
$ sudo service php5-fpm restart

Установите пакет php-debug в Atom:

Зайдите в Atom -> Настройки -> Установить, найдите php-debug и установите пакет.

Настройте php-debug в Atom:

  • Atom -> Настройки -> Пакеты, найдите php-debug и нажмите
    настройки

  • Установите PathMaps в форме дистанционное; локальная. Карты путей
    преобразовать гостевой / удаленный путь в локальный / хост-путь. Давайте предположим
    что вы отлаживаете foo.php и что это можно найти на вашей виртуальной машине
    в /var/www/mysite/foo.php и на вашем хосте в
    /Users/someuser/Documents/vagrant-mysite/foo.php. Ваши PathMaps
    конфиг будет тогда
    / Вар / WWW / MySite; / Users / someuser / Документы / бродяга-MySite.

  • Порт сервера: 9999

Начать отладку:

  • Откройте ваш целевой исходный файл в Atom, например,
    /Users/someuser/Documents/vagrant-mysite/foo.php

  • В левом нижнем углу экрана Atom нажмите кнопку «PHP Debug».

  • Установите точку останова, нажав сразу слева от целевой строки кода

  • Посетите foo в браузере, например, http://example.com/foo.php и это должно привести к приостановке кода в Atom, и вы сможете продолжить отладку

  • Если вы сконфигурировали файл php.ini для своих настроек командной строки PHP, вы также сможете отладить, просто запустив скрипт на гостевой машине, например, php /var/www/mysite/foo.php

введите описание изображения здесь

3

Другие решения

Других решений пока нет …