我可以在EclipsePDT下调试PHP文件而不使用Apache吗?

我可以在EclipsePDT下调试PHP文件而不使用Apache吗?,php,eclipse,eclipse-plugin,Php,Eclipse,Eclipse Plugin,我刚刚安装了EclipsePDT3.0.2(我不知道这是什么EclipseBase,Galileo还是Helios),并且一直在享受NetBeans的升级。为了更加认真地对待我的PHP开发(我最近只扩展了ASP.NET),我决定不再直接在Xampp Apache文档根目录(htdocs)下编辑我的PHP文件,而是在我通常的源代码位置c:\development下创建了一个工作区 在我看来,从我从所有关于在PDT下调试PHP文件的完全不同的资源中快速收集到的信息来看,这些文件需要在Apache下调

我刚刚安装了EclipsePDT3.0.2(我不知道这是什么EclipseBase,Galileo还是Helios),并且一直在享受NetBeans的升级。为了更加认真地对待我的PHP开发(我最近只扩展了ASP.NET),我决定不再直接在Xampp Apache文档根目录(htdocs)下编辑我的PHP文件,而是在我通常的源代码位置c:\development下创建了一个工作区


在我看来,从我从所有关于在PDT下调试PHP文件的完全不同的资源中快速收集到的信息来看,这些文件需要在Apache下调试,并因此复制到htdocs。是否有不需要部署或PHP服务器的本地调试选项,以及如何更接近使用这种类型的调试器?

我对Eclipse一无所知,但我有一种强烈的感觉,您只需要能够使用Apache配置多个站点,因此,当您在同一台计算机上托管实时版本时,您可以处理项目的私有副本

我建议您看看Apache手册中的章节。您可以在系统的
主机
文件中创建本地域名。此外,您可以使用不同的本地IP地址(127.0.0.1、127.0.0.2、127.0.0.3…)或不同的端口


您还提到您过去一直在编写ASP.NET。PHP在几乎所有web服务器(包括IIS)中都运行良好,这一点毫无价值。您不需要安装Apache,而且我很确定Eclipse并不关心您的服务器供应商。

我不记得Eclipse是否有本地PHP调试选项。但我认为Zend Studio(基于EclipsePDT)有自己的PHP二进制文件。但是我从来没有试过使用它们

您最好的选择是创建一个新的工作区,我在这里解释了如何做:

如果需要在XAMPP安装上设置vhost(虚拟主机)

如果你想要其他IDE的建议,那么我会选择($299)或。虽然我从未使用过Rapid PHP2011,但它看起来确实很有前途,具有许多与许多流行IDE相同的特性。请注意,在我看来,它似乎没有Eclipse/Zend那么专业(这也是为什么我总是推荐这两种方法)

在我看来[…]这些文件需要在Apache下调试,然后复制到htdocs

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

将开发文件保留在其所属的主目录中,并配置本地Web服务器,以便a的
DocumentRoot
是您的开发根目录(或其子目录)

Apache的最低配置如下所示:

<VirtualHost *:80>
  ServerName localhost
  ServerAlias 127.0.0.1
  DocumentRoot C:/development/

  <Directory "C:/development">
    # helpful if you want to browse your files
    Options +Indexes
  </Directory>
</VirtualHost>
应该已经在您的
主机
文件中,因此您不需要在那里进行任何更改。(但是,如果您认为需要另一个主机名别名,那么就使用它吧。我目前已经为测试目的定义了3个附加的别名。)

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

Alias/manual“C:/Program Files/XAMPP/apache/manual/”
选项索引跟随符号链接多视图
不允许超限
命令允许,拒绝
通融
添加默认字符集
(在我默认的
/etc/apache2/conf.d/apache2 doc
中,它是这样说的——当然是用linuxes)

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

我不明白那个问题。没有“PHP服务器”。有——你是说这个吗

如果您想为Apache这样的Web服务器调试PHP脚本,则需要在该服务器上运行PHP。在Apache的情况下,无论是作为一个。只有在开发时才不需要服务器。XAMPP安装程序应该已经为您设置好了


从你的帖子中,假设你想调试应该在Apache上运行的PHP脚本和PHP模块(使用
运行PHP脚本),我假设问题更多的是关于“我可以在PDT中调试CLI脚本吗”。如果是这样的话,是的,你可以

您所要做的就是编辑CLI正在使用的PHP.INI文件,并确保为CLI启用了XDebug,并且XDebug.remote_autostart设置为1。很可能CLI PHP使用的INI文件与Apache不同,因此请确保使用的是正确的INI文件


最后,在PDT中单击“调试项目”,并将其作为web脚本进行调试,即使它不是。重要的是,您实际上是在告诉PDT开始侦听。完成后,您应该能够从CLI运行脚本,并在适当的时间启动PDT。xdebug.remote_autostart是关键。

@middus,有nApache本身没有问题,但我不想使用web服务器的文档根作为我的工作区,反之亦然。你不必这样做。只需为
worspace.localhost
:)设置一个vhost即可。是的,我的待办事项列表中有相当多的内容,可以让PHP在IIS 7.5上工作,但是仅仅安装XAMPP就可以更快地让WordPress运行。我几乎所有的PHP工作都是WP插件。正在检查虚拟主机,谢谢。
127.0.0.1  localhost
Alias /manual "C:/Program Files/XAMPP/apache/manual/"

<Directory "C:/Program Files/XAMPP/apache/manual/">
  Options Indexes FollowSymlinks MultiViews
  AllowOverride None
  Order allow,deny
  Allow from all
  AddDefaultCharset off
</Directory>