使用 WAMP 和 IDE 调试 PHP

Debug PHP Using WAMP and an IDE

我最近开始网络开发。我参加的课程是安装 WAMP 并立即开始开发。我使用了一个原子文本编辑器,这个 - 与 wamp 结合 - 被证明是一种非常快速的编写客户端代码的方法(HTML,CSS,Javascript)。

但是当我开始编写服务器端时 PHP 事情变得有点混乱。我应该在这里解释一下我网站的结构。

我为客户端的每个页面保留单独的 PHP、CSS、javascript 文件,对于服务器端有 2 种不同类型的 PHP 文件:

  1. 仅对数据库执行特定操作的文件(例如 returning “5 个更多答案”)。这些总是由 AJAX 请求调用。

  2. 第一次加载页面的文件。这些仅在用户第一次打开页面时使用,它们进行必要的数据库查询和 return 页面。以后的请求总是转到第一种类型的 PHP 文件。

现在关于我的问题。到目前为止,我通过使用 var_dump() 或回显将变量打印到屏幕上进行调试。但是随着我处理的数据的增长,这开始变得太慢了。我想知道是否有一种调试方法可以让我在我的 PHP 文件中设置一个断点。然后,当我在浏览器上打开它时,在我使用 WAMP 创建的本地主机上,将让我逐步浏览 PHP 文件。

我已经处理这个问题 3 天了,我试图让它与 Eclipse IDE 一起工作,但找不到方法。此外,互联网上似乎没有关于该问题的教程或问答。

我不知道您的问题的具体解决方案。我不确定你在做什么,但作为一个快速提示,我发现将以下代码片段添加到文件顶部很有用,因为它更容易出错,而不是浏览器只是说不。

error_reporting(E_ALL);
ini_set('display_errors', 'On');

希望对您有所帮助。

断点调试打开了一个全新的世界,是var_dump()调试后自然而然的一步。它不仅加快了开发速度,而且还提供了更多关于代码的信息,因为您可以逐行查看每一行并查看在每一步设置了哪些值,以及它们如何随着程序执行其代码而演变。这意味着您可以使用一个 运行 跟踪不同阶段的全部值 - 想象一下使用 var_dump()!

跟踪每个点的所有变量

虽然选择 IDE 是基于个人品味的个人决定,但我强烈建议您试用 PhpStorm。如果您可以获得学生许可证,那就去做吧。

PhpStorm 拥有关于 IDE 中所有功能的大量文档和教程,调试也不例外:

https://www.jetbrains.com/help/phpstorm/configuring-xdebug.html

https://www.youtube.com/watch?v=GokeXqI93x8

我尝试了评论和答案中推荐的内容。我首先尝试了 Netbeans。公平地说,这让我很失望。下载一直卡在 100%,即使是不同的版本。当我停止下载并继续创建一个 php 项目时,我猜是缺少部分。我什至无法创建一个 php 项目。但这可能只是我做不到。

然后我按照@leuquim 的回答和@Alex Howansky 的评论下载了 PHPStorm。我让它在不超过 20 分钟的时间内开始工作。我是用学生证下载的。对于想要将 PHPStorm 与 WAMP 结合使用的人,这里有一个 Youtube 教程:

https://www.youtube.com/watch?v=CxX4vnZFbZU

视频中需要注意的一点是,视频制作者在 运行 配置中选择了 PHP Web 应用程序。已更改为 PHP 网页。