我正在使用PhpStorm,我的应用程序使用了一些我想调试的异步进程。
所有设置都可以使用xdebug调试应用程序的其余部分,但是我还没有找到调试服务的方法。
以下是表示正在运行的服务的伪代码:
while (true){
message = getMessageIfAny();
if (message){
parseMessage(message); // <- here is my (sadly ignored) breakpoint
}
}
回复评论:
对于我的设置,我的应用程序部署在Vagrant VM上。我可以使用浏览器发送的调试Cookie调试主应用程序。 我的主应用程序有时向我的数据库添加一条消息,并且该消息由服务恢复,然后继续处理它。我无法调试的部分是服务运行的代码。
在尝试调试服务部件之前,我没有停止“ over http”调试会话。我会尝试的。
编辑:增加最大同时连接数似乎并没有改变
编辑: 好吧,我快到了。现在,当我开始服务时,会捕获断点,但是我收到以下消息:
在本地找不到文件'path / to / file.php'
要修复此问题,请使用环境变量PHP_IDE_CONFIG设置服务器名称,然后重新启动调试会话
我已经跑过了:
export PHP_IDE_CONFIG="serverName=local_dev_VM"
这是我的php.ini的样子
[xdebug]
; Debug settings
zend_extension = xdebug.so
xdebug.remote_enable = On ; Enable xdebug
xdebug.remote_autostart = On ; Only start xdebug on demand, not on every request
xdebug.remote_host = "192.168.8.3" ; This is unused if the next setting is 'On'
xdebug.remote_connect_back = On ; Use a special $_SERVER['...'] variable to get the remote address
xdebug.remote_port = 9000 ; Port on the IDE to connect back to. Usually it is 9000
xdebug.idekey = "PHPSTORM" ; The IDE key which should match the XDEBUG_SESSION cookie value
xdebug.remote_handler = "dbgp"
这是设置/语言和框架/ php /服务器