使用 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
我的 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