【问题标题】:How to set up/view PHP server pages in Eclipse with the PDT plugin (for php)如何使用 PDT 插件在 Eclipse 中设置/查看 PHP 服务器页面(用于 php)
【发布时间】:2012-04-24 14:20:21
【问题描述】:

我正在尝试在我的本地主机上设置一个 PHP 服务器以使用 Eclipse PDT 运行。 我希望能够查看我正在开发的 PHP 站点,例如 http://localhost/MySite/index.php,以便我可以直接从 Eclipse 中 Run

我正在为 PHP 服务器使用 IIS 7.5(Windows 7 家庭高级版)。

到目前为止,我已按照这些说明进行操作,但无法使其正常工作:

  • 在 Windows 功能中安装 CGI 选项
  • 在 Windows 功能中安装IIS Manager(这样我就可以运行inetmgr.exe
  • 下载NTS版本的php并解压到C:/php
  • php.ini-development 重命名为php.ini 并设置extension_dir 变量
  • 运行inetmgr并创建一个新网站来运行PHP应用程序(我删除了DefaultSite):
    • 网站名称:My Site
    • 物理目录C:/dev/MySite
    • 应用程序池:DefaultAppPool
    • 绑定:
      • 主持人:
      • IP地址:All Unasigned
      • 端口:80
  • inetmgr:单击处理程序映射并添加一个新的Module Mapping
    • 请求路径:*.php
    • 模块:FastCGIModule
    • 可执行文件:C:/php/php-cgi.exe

现在我有很多问题:

  1. IIS Manager中,当我点击Edit Site > Test Settings时,出现黄色感叹号警告:Authorization: Cannot verify access to path (C:/dev/MySite)

    服务器配置为使用带有内置帐户的直通身份验证来访问指定的物理路径。但是,IIS 管理器无法验证内置帐户是否具有访问权限。确保应用程序池标识对物理路径具有读取权限。如果此服务器已加入域,并且应用程序池标识为 NetworkService 或 LocalSystem,请验证 \$ 是否具有对物理路径的读取访问权限。然后再次测试这些设置。

  2. 当我尝试直接从 webroot (C:/dev/MySite) 加载任何 .php 文件时,它在我的网络浏览器中显示为纯文本

  3. 当我尝试在 Eclipse 中 Run 我的项目时,它转到 http://localhost/MySite/index.php 并且有一个 404 Error: Website Not Found

  4. 当我在网络浏览器中转到 http://localhost/ 时,我还会看到 404 Error

【问题讨论】:

    标签: php eclipse iis windows-7


    【解决方案1】:

    如果您download PHP 5.4.x,您将能够使用内置 Web 服务器来满足您的所有开发需求。

    在您的 php 文件夹中,您将运行:

    php -S localhost:3030
    

    现在您可以浏览到http://localhost:3030/index.php

    如果您使用的是 Aptana IDE(或任何类似的),您可以这样设置:

    您的运行配置将是:

    我个人不使用 Aptana(我在几年前使用过);但是,我认为尝试这个来确定集成是否无缝会很有趣。我不得不说,我对 Aptana 不妨碍您的方式印象深刻,因此您可以随心所欲地做任何事情。

    最后,如果您想知道我的“启动命令”中列出的“$HOME/local/php/versions”,我使用名为php-version 的工具驱动多个 PHP 版本。请注意,此工具针对 Linux/Mac 用户;但是,如果更多人感兴趣,我可能会做一个 windows/powershell 端口(注意:我是作者)。

    【讨论】:

    • 好的,我开始了! PHP 5.4.0 Development Server started... 有关在 Eclipse 中正确设置的任何信息? & index.php应该存放在哪里?
    • 没关系!我这样运行它:php -S localhost:3000 -t "C:/dev/mysite/" 现在它从“mysite”运行!谢谢
    • 谢谢。我希望我可以在你们俩之间分配奖金 100/100,但我认为这是不可能的,而且 Xeoncross 的回答更好,所以我接受了他的。但再次感谢内置服务器的信息。
    • @Ozzy 没问题。鉴于您更喜欢 Xeoncross 的回答,奖励他赏金更有意义。很高兴我的回答无论如何都有帮助。
    【解决方案2】:

    恐怕我无法回答你的问题,但我想分享...

    我从来都不喜欢在 IIS 或 Apache 上运行 PHP。所以我建立了一个portable, no-install-required copy of nginx,我可以随身携带或在我的Windows机器上使用。 (只需下载您想要的 PHP、Nginx 和 MySQL 版本并启动它)。原因之一是大多数生产站点无论如何都运行 nginx,所以这样我更接近我的服务器实际使用的内容(除非你在仍然使用 Apache 的“共享主机”上)。

    其次,我不确定您为什么需要从 Eclipse 中“运行”它。当您编写 PHP 时,您通常会处理很多变量来设置页面。我想说您需要更多地担心添加单元测试以确保一切正常,并使用像 Firefox(带有 firebug)这样的浏览器来测试您可能发出的任何请求。诸如 AJAX 或处理会话 cookie 之类的东西通常需要比 Eclipse 所能提供的更多的控制。

    底线,我不确定你为什么认为你需要这样做。

    【讨论】:

    • 我认为您对需要设置大量变量的 php 页面是正确的。实际上我只是想找到一种更快的 PHP 开发方法,因为目前我正在 Web 主机文本编辑器中编写它(没有语法突出显示等),保存,然后我必须切换选项卡以刷新和检查网站。我知道这完全是错误的方式,这就是为什么我认为使用像 Eclipse 这样的 IDE 会更好。我想用一些不会让我在使用纯文本编辑器时经常出现的拼写错误和基本错误来开发它。
    • @Ozzy,当我还在 Windows 上时,我曾经使用 Ecplise PDT 来处理所有事情。这是一个很棒的 IDE,就像我说的,当与可以提供请求标头、AJAX 信息和 DOM 信息的全功能浏览器(如 FF 或 Chrome)结合使用时,它的效果非常好。我认为我的观点是,通过 通过 PDT 运行 PHP 而不是使用常规浏览器,您不会获得任何东西(实际上会失去任何东西)。
    • 另一方面,您知道您可以编辑您的“主机”文件 (C:\windows\system32\drivers\etc\hosts) 以添加指向您服务器的假域名吗?因此,您可以使用loc 之类的假顶级域名来代替http://localhost/MySite/index.php,而不是使用http://mysite.loc/index.php 之类的东西。只需添加一行,域“mysite.loc”指向您的 IP 地址。哦,你需要在你的服务器中创建一个“虚拟主机”(vhost)文件才能知道监听那个假域名。
    • 好的,所以是的,带有 Firebug 的 FF 会更好地运行该站点。我不明白你说的关于虚拟主机的内容。现在我打算在 eclipse/PDT 中开发,并像@wilmoore 所说的那样在 localhost 上使用 php 内置服务器,所以我将把整个主机的东西留在我的 PC 上先开发网站(在 FF 中查看它),然后在我完成后将其上传到网络服务器。
    • @Ozzy,见my answer about including files here。基本上,您不需要更改或使用 set_include_path() 进行任何操作。只需在包含文件时指定每个文件的完整路径 - 无论如何,这样会更快,因为 PHP 不会过多地查看包含路径。
    猜你喜欢
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 2021-09-01
    • 2010-09-15
    • 2015-11-13
    • 1970-01-01
    相关资源
    最近更新 更多