加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用Xdebug共享相同代码库的两个应用程序中的断点

发布时间:2020-12-13 13:05:54 所属栏目:PHP教程 来源:网络整理
导读:我在运行Ubuntu的本地Vagrant实例上设置了 Xdebug.它按预期工作,我可以在我的应用程序中设置断点. 我有一个场景,应用程序向内部API发出请求.内部API位于同一服务器和相同的代码库中. 树例证 codebase/ app/ root api/ root 该应用程序可以作为https://local.
我在运行Ubuntu的本地Vagrant实例上设置了 Xdebug.它按预期工作,我可以在我的应用程序中设置断点.

我有一个场景,应用程序向内部API发出请求.内部API位于同一服务器和相同的代码库中.

树例证

codebase/
  app/
    root
  api/
    root

该应用程序可以作为https://local.myapplication.com访问,API可以在本地访问,如http://local.api.myapplication.com).

如果我现在在API的某些代码中设置断点,然后访问https://local.myapplication.com/some/action/that/triggers/the/api/code,只有在我没有为第一个应用程序初始化Xdebug会话时才会触发断点,即我没有设置XDEBUG_SESSION_START查询参数.如果已设置,则忽略我的断点.

这有一定的缺点.如果我在应用程序和API中有断点,那么我现在无法触发这两个断点.我可以触发应用程序断点或API断点.

我正在使用Sublime Text 3插件https://github.com/martomo/SublimeTextXdebug.我在php.ini中的Xdebug设置是:

zend_extension="/usr/lib/php5/20090626/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=192.168.3.1
xdebug.remote_port=9000
xdebug.remote_log="/tmp/php5-xdebug.log"

这可以解决吗?任何答案/评论表示赞赏!

两个选择.如果第一个(更容易)不起作用,第二个肯定会.

1 – 为每个http请求启动一个新的Xdebug会话.

在php.ini中,将以下内容添加到xdebug设置中:

xdebug.remote_autostart = 1

见documentation here

2 – 同时运行两个Xdebug会话.

您需要有两个独立的IDE /文本编辑器实例来监听xdebug – 每个实例都在不同的端口上.您可以将两个实例设置为在xdebug服务侦听不同端口时编辑同一项目.

例如:

>您的“申请” – >港口9000
>您的“内部API” – >港口9001

要使“内部API”在端口9001上运行xdebug,您只需在“内部API”脚本的开头执行以下操作:

ini_set('xdebug.remote_port','9001');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读