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