首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在内置的php服务器上使用phpdbg?

在内置的php服务器上使用phpdbg?
EN

Stack Overflow用户
提问于 2015-02-27 20:19:37
回答 2查看 2.3K关注 0票数 13

我非常喜欢使用内置服务器的php,我也非常喜欢phpdbg的外观。这让我想起了Ruby的撬动。但我一直很难让它起作用。是否可以在web服务器中使用构建来运行用户phpdbg

例如,我希望这是如何运作的:

  1. 在代码中放置phpdbg_break();
  2. 在CLI中运行php -S localhost:8000
  3. 在浏览器中或通过curl加载页面/发出执行包含phpdbg_break();的代码的请求
  4. 进入phpdbg REPL,这很可能发生在启动内置服务器的同一个终端/CLI实例中。

当我尝试这样做时,我得到一个错误,即phpdbg_break();是一个未定义的函数。

否则(如果以上所述是不可能的),您如何使用“use模拟”医生们谈论的 (在底部)?如何使用特定的URI提出特定的请求?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-04 19:38:48

如果我正确理解,phpdbg_break是由解释器提供的函数,而不是由任何扩展提供的。与其使用内置的PHP服务器,不如使用phpdbg服务器,并模拟web请求。有关如何模拟请求和了解如何运行调试器的信息,请参见http://phpdbg.com/docs/mocking-webserver

要向特定的URI发出请求,我认为需要设置$_SERVER['REQUEST_URI']和可选的$_SERVER['QUERY_STRING'],以指向要测试的URL。URI将类似于'/path/to/file‘,而查询字符串将是?以及URL中的#(即?page=2)

谢谢您给我指点phpdbg,我不知道这个工具,它似乎是一个很好的工具;我将在接下来的几天对它进行测试。

票数 6
EN

Stack Overflow用户

发布于 2016-07-26 19:24:02

我使用精神科的原因也是一样的,因为它让我想起了pry。实际上,我使用这个代码片段来代替来自binding.pryruby代码片段。

代码语言:javascript
复制
require "path_to_psysh_on_your_local_file_system";
\Psy\Shell::debug(get_defined_vars(), $this);

这对我来说已经够好了。我唯一的问题是:

  1. 无法通过nginx或apache服务器连接到运行在CGI中的现有PHP进程
  2. 内置的PHP服务器是单线程的,非常慢,这有时会让我抓狂。

除此之外,我对我目前的工作流程很满意。我很高兴听到其他人对此的看法。

甚至看起来关于远程调试还有一些工作要做,这可能会解决我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28773567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档