Php 使用vagrant的带有本地api的Xdebug

Php 使用vagrant的带有本地api的Xdebug,php,rest,vagrant,xdebug,phpstorm,Php,Rest,Vagrant,Xdebug,Phpstorm,我让xdebug在本地为“普通”站点工作(我正在使用google chrome和xdebug helper和phpstorm与一个托管在vagrant box上的站点进行对话) 但是,如果我尝试使用REST客户端(google chrome的高级REST客户端插件)连接到本地托管的api站点(也在一个vagrant box上),它将无法工作 我需要在vagrant框上对xdebug进行哪些设置,以及在进行api调用时需要包括哪些附加信息 我的设置(在流浪机器上)适用于phpstorm和流浪盒,如

我让xdebug在本地为“普通”站点工作(我正在使用google chrome和xdebug helper和phpstorm与一个托管在vagrant box上的站点进行对话)

但是,如果我尝试使用REST客户端(google chrome的高级REST客户端插件)连接到本地托管的api站点(也在一个vagrant box上),它将无法工作

我需要在vagrant框上对xdebug进行哪些设置,以及在进行api调用时需要包括哪些附加信息

我的设置(在流浪机器上)适用于phpstorm和流浪盒,如下所示:

    ;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Added to enable Xdebug ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;
    zend_extension="/usr/lib/php5/20100525/xdebug.so"
    xdebug.default_enable = 1
    xdebug.idekey = "vagrant"
    xdebug.remote_enable = 1
    xdebug.remote_autostart = 0
    xdebug.remote_port = 9000
    xdebug.remote_handler=dbgp
    xdebug.remote_log="/var/log/xdebug/xdebug.log"
    xdebug.remote_host=10.0.2.2 

idekey设置通过@LazyOne的帮助,通过大量努力连接到phpstorm上的用户定义应用程序(请参见此处:)

如果其他人需要帮助,以下是我的最终设置:

XDEBUG FOR API

; Enable xdebug extension module
zend_extension=xdebug.so

; see http://xdebug.org/docs/all_settings
xdebug.max_nesting_level = 250
xdebug.max_nesting_level = 250
;for ubuntu
zend_extension="/usr/lib/php5/20100525/xdebug.so"
;for centos
;zend_extension="/usr/lib64/php/modules/xdebug.so" 
xdebug.default_enable = 1
xdebug.idekey = "PHPSTORM"
xdebug.remote_enable = 1
xdebug.remote_autostart = 0
xdebug.remote_port = 9000
xdebug.remote_handler=dbgp
xdebug.remote_log="/var/log/xdebug/xdebug.log"
xdebug.remote_host=10.0.2.2
•将symfony2 app_dev.php更改为:

//$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
$loader = require_once __DIR__.'/../app/autoload.php';
•可能还需要在app_dev.php上设置断点,并尝试“进入”主项目。这将提示您在“编辑路径映射”链接上设置路径:

•在REST客户端上作为标头:cookie XDEBUG_SESSION=PHPSTORM

您还需要包括:

?XDEBUG_SESSION_START=PHPSTORM (e.g. /courses/?XDEBUG_SESSION_START=PHPSTORM)
如果使用REST客户端,则作为参数。PHPSTORM的客户端将自动添加它


和。。如何调试“普通”站点?请描述(简而言之)。到目前为止(据我所知),xdebug缺少调试标记(cookie或GET/POST参数,它告诉xdebug调试这个请求)。在浏览器中,此cookie由特殊浏览器扩展或bookmarklet添加/删除。。或GET参数在从IDE启动时添加到URL。对于API调用,您需要自己添加此类信息。。或者配置xdebug调试每个请求。对于“正常”站点I:使用上面在vagrant机器上概述的设置;使用google chrome的xdebug helper发送所需的会话启动信息,并通过创建“服务器”并将其附加到调试配置来配置phpstorm(这就是xdebug.idekey=“vagrant”如何与phpstorm对话)我似乎无法让它与REST客户机一起工作,即使我包括这里概述的调试标记:您可以忽略“添加远程服务器”步骤——IDE将帮助在第一个传入连接上设置它。现在可能是您的路径映射不正确。从我看到的情况来看,该文件具有
.cache
扩展名。如果可能的话——将其复制到本地项目文件(不要忘记将
.php.cache
与php文件关联,否则IDE将不会将其视为php文件,也无法将其逐行处理)。此外,每次修改重要/参与文件后,您可能需要重新复制。或者(最好)——尝试禁用此类缓存。