使用Vagrant时在Atom中调试PHP

时间:2016-08-09 23:45:56

标签: php vagrant virtualbox xdebug atom-editor

我的PHP开发环境在VirtualBox VM上运行,并通过vagrant进行配置。如何在我的主机上使用Atom中的php-debug来调试在我的一个VM上运行的PHP脚本?

1 个答案:

答案 0 :(得分:3)

配置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在使用apache运行PHP脚本时使用调试器。

重新启动您的Web服务器或任何其他PHP相关服务,例如

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

在Atom中安装php-debug软件包:

转到Atom - >偏好 - >安装,搜索php-debug并安装包

在Atom中配置php-debug:

  • 原子 - >偏好 - >包,搜索php-debug并单击    设置

  • 远程;本地的形式设置PathMaps。 PathMaps 将guest / remote路径转换为本地/主机路径。我们假设 您正在调试 foo.php ,并且可以在您的VM上找到它 在 /var/www/mysite/foo.php 和您的主机框上 /Users/someuser/Documents/vagrant-mysite/foo.php 。你的PathMaps 然后配置 的/ var / WWW / mysite的; /用户/ SomeUser是否/文档/流浪-mysite的

  • 服务器端口:9999

开始调试:

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

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

  • 通过单击目标代码行的左侧

  • 来设置断点
  • 在浏览器中访问foo,例如http://example.com/foo.php这会导致代码在Atom中暂停,您应该可以继续调试

  • 如果您为PHP命令行设置配置了php.ini文件,那么您还应该能够通过在来宾计算机上运行脚本来进行调试,例如: php /var/www/mysite/foo.php

enter image description here