使用 Vagrant 在 Atom 中调试 PHP

Debug PHP in Atom While Using Vagrant

我的 PHP 开发环境是 运行 在 VirtualBox VM 上,并且是通过 vagrant 提供的。我如何在主机上的 Atom 中使用 php-debug 在我的一台虚拟机上调试 PHP 脚本 运行?

配置xdebug:

在您的 VM 上打开您的 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

在 Atom 中安装 php-调试包:

转到 Atom -> 首选项 -> 安装,搜索 php-debug 并安装包

配置php-在Atom中调试:

  • Atom -> Preferences -> Packages,搜索 php-debug 然后点击 设置

  • 远程;本地 的形式设置 PathMap。路径图 将 guest/remote 路径转换为 ​​local/host 路径。让我们假设 您正在调试 foo.php 并且可以在您的 VM 上找到它 在 /var/www/mysite/foo.php 和您的主机箱上 /Users/someuser/Documents/vagrant-mysite/foo.php。你的路径图 配置将是 /var/www/mysite;/Users/someuser/Documents/vagrant-mysite.

  • 服务器端口:9999

开始调试:

  • 在 Atom 中打开目标源文件,例如 /Users/someuser/Documents/vagrant-mysite/foo.php

  • 在 Atom 屏幕的左下角,单击“PHP 调试”按钮

  • 点击目标代码行左侧设置断点

  • 在浏览器中访问 foo,例如http://example.com/foo.php 这会导致代码在 Atom 中暂停,您应该能够继续调试

  • 如果您为 PHP 命令行设置配置了 php.ini 文件,您应该也可以通过 运行 客户机上的脚本进行调试机,例如php /var/www/mysite/foo.php