2

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

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

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

  • CGIWindows 功能中的安装选项
  • IIS Manager在 Windows 功能中安装(这样我就可以运行inetmgr.exe
  • 下载 NTS 版本的 php 并将 zip 解压缩到C:/php
  • 重命名php.ini-developmentphp.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. 当我尝试.php直接从 webroot (C:/dev/MySite) 加载任何文件时,它在我的网络浏览器中显示为纯文本

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

  4. 当我http://localhost/在我的网络浏览器中访问时,我也会得到一个404 Error.

4

2 回答 2

9

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

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

php -S localhost:3030

现在您将能够浏览到http://localhost:3030/index.php

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

外部 Web 服务器配置

您的运行配置将是:

运行配置

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

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

于 2012-05-02T09:45:55.557 回答
1

恐怕我没有回答你的问题,但我想分享...

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

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

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

于 2012-05-01T21:09:50.670 回答