我可以在不使用Apache的情况下在Eclipse PDT下调试PHP文件吗?

Pro*_*ofK 9 php eclipse eclipse-plugin

我刚刚安装了Eclipse PDT 3.0.2(我不知道这是什么Eclipse基础,Galileo或Helios),并且一直在享受NetBeans的升级.为了更加认真地对待我的PHP开发(我最近只从ASP.NET扩展),我决定从我的Xampp Apache doc根目录(htdocs)直接编辑我的PHP文件,并在我通常的源位置创建了一个工作区,c:\开发.

在我看来,从我能够从PDT下调试PHP文件的所有可怕的不同资源中快速收集到的文件,需要在Apache下调试文件,从而复制到htdocs.是否存在不需要部署或PHP服务器的本地调试选项,以及如何更接近使用此类调试器?

Poi*_*ars 1

\n

在我看来[\xe2\x80\xa6]这些文件需要在Apache下调试,从而复制到htdocs。

\n
\n\n

不,你可以做我(可能还有成千上万的其他开发人员,正如其他答案所示)所做的事情:

\n\n

将开发文件保留在它们所属的主目录中,并配置本地 Web 服务器,以便基于DocumentRoot名称的虚拟主机的 是您的开发根目录(或其子目录)。

\n\n

最小的 Apache 配置如下所示:

\n\n
<VirtualHost *:80>\n  ServerName localhost\n  ServerAlias 127.0.0.1\n  DocumentRoot C:/development/\n\n  <Directory "C:/development">\n    # helpful if you want to browse your files\n    Options +Indexes\n  </Directory>\n</VirtualHost>\n
Run Code Online (Sandbox Code Playgroud)\n\n

线路

\n\n
127.0.0.1  localhost\n
Run Code Online (Sandbox Code Playgroud)\n\n

应该在你的hosts已经在您的文件中,因此您不需要在那里进行任何更改。(但是,如果您认为需要另一个主机名别名,那就去吧。我目前已经定义了 3 个额外的别名用于测试目的。)

\n\n

默认情况下,Apache 手册和其他默认 Apache 资源应该仍然可用(此处:http://localhost/manual/等)。例如(我在这里使用 Debian GNU/Linux,所以我不知道确切的 XAMPP 路径):

\n\n
Alias /manual "C:/Program Files/XAMPP/apache/manual/"\n\n<Directory "C:/Program Files/XAMPP/apache/manual/">\n  Options Indexes FollowSymlinks MultiViews\n  AllowOverride None\n  Order allow,deny\n  Allow from all\n  AddDefaultCharset off\n</Directory>\n
Run Code Online (Sandbox Code Playgroud)\n\n

(在 Linux 中是这样写的 \xe2\x80\x93 ,当然在我的默认值中是 \xe2\x80\x93 /etc/apache2/conf.d/apache2-doc。)有关详细信息,请参阅优秀的XAMPP 文档。

\n\n
\n

是否有不需要部署或 PHP 服务器的本地调试选项,以及如何更接近使用这种类型的调试器?

\n
\n\n

我不明白这个问题。没有“PHP 服务器”。有Zend Server \xe2\x80\x93 你的意思是吗?

\n\n

如果您想为 Apache 这样的 Web 服务器调试 PHP 脚本,您需要在该服务器上运行 PHP 。对于 Apache,可以作为Apache 模块、CGI 处理程序或在 FastCGI 下仅当您开发CLI-PHP 脚本时才不需要服务器。XAMPP 安装程序应该已经为您设置好了。

\n\n

假设您想要调试应该使用 PHP 模块在 Apache 上运行的 PHP 脚本(可以肯定地运行 PHP 脚本<?php phpinfo();;我只是没有任何其他方面的积极 PHP 调试经验),您可以配置 PDT,以便它使用上述本地虚拟主机的远程调试。为此,您还需要一个PHP 的服务器端调试模块,例如XdebugZend Debugger(两者的调试客户端都包含在 PDT 中)。我之前一直在使用 Zend Debugger,但现在我使用 Xdebug(在 Eclipse 3.7.1 中使用 PDT 3.0.0v20110516-\xe2\x80\xa6 [“Indigo”SR1,2011 年 9 月发布]\xc2\xb9),因为它是自由软件与 Debian 一起打包,并且具有高度可配置性和功能,尽管它也是免费的。

\n\n

这篇文章对我特别有帮助:使用 Xdebug 和 Eclipse PDT 进行 PHP 远程调试。\n请参阅 Xdebug 文档了解更多信息(例如,客户端 IP 地址的独立性)。

\n\n

不过,可以在PDT 下载站点找到有关 PDT 和使用 PDT 进行调试的大量信息。

\n\n

底线:如果您在 上进行调试localhost,则不必部署代码,因为您已经部署了代码,只需将其放在DocumentRoot. Eclipse PDT 并不关心远程代码位于何处;它仅通过 HTTP URI 访问资源。如果以 开头http://localhost/,那就这样吧:)

\n\n

(复制资源会带来不一致和意外覆盖 Apache 文件的风险,因此不要这样做。)

\n\n

\xc2\xb9 Eclipse Indigo 没有 PHP 包,但您可以从 Eclipse 3.7.1 Classic 启动,并使用更新管理器在其上安装 PDT。只需选择“Indigo”(或其他)存储库,然后选择“编程语言”下的“PHP 开发工具”。依赖关系应该自动解决。另请参阅PDT/安装

\n