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