English 中文(简体)
配置多个站点的IIS7以运行PHP
原标题:
  • 时间:2009-01-05 17:44:34
  •  标签:

我在IIS7上安装了PHP5.2.8,并且在我的默认站点上(位于C:Inetpubwwwroot)正常工作。

现在,我需要在我的机器上运行公司网站的本地副本,每个网站的目录都在wwwroot中。我已经为每个副本设置了不同的端口,所以我只需访问http://localhost:[portnum]就可以访问到每个副本了。

如果我尝试访问一个文件,比如:http://localhost:5002/test.php - 我会得到一个

未指定输入文件。

错误。如果我通过http://localhost/Mysite.com/test.php尝试,它就可以正常工作。我想这可能与php.ini中的doc_root设置有关?我将其设置为C:Inetpubwwwroot。我正在运行PHP作为FastCGI模块。

有人知道一个全面的教程或设置PHP在IIS上像这样的配置吗?还是有任何建议吗?

我也在想,如果安装在ISAPI模式下,可能会得到不同的结果。你觉得呢?

问题回答

我认为你在错误的方向上进行。如果你要运行本地网站副本或不同的站点,你应该将它们建立在不同的目录中。这里有一个非常简单直接的设置IIS 7或7.5的过程。只要你安装了PHP,它就适用于所有站点。

Part 1

  1. Open up notepad.exe in administrative mode
  2. Locate your hosts file (C:WindowsSystem32driversetc) -[NOTE: No extension on hosts]
  3. Add another site IP / name like so:

示例

#102.54.94.97    rhino.acme.com
127.0.0.1   localhost
127.0.0.2   testsite
127.0.0.3   testsite_etc

注意:如果您正在进行开发测试,可以将.com去掉并编写一个类似于localhost的名称来使用。 #号将注释掉任何行。

Part 2

  1. Now add a new site (website) in IIS
  2. Name the site anything you want
  3. Select a folder where your website files are. (This is the root folder)
  4. Specify the IP address you added to the host s file (Example 127.0.0.2)
  5. For the hostname, specify the name you used in the host s file (testsite)
  6. Leave the port to 80, and http or https as needed for your site
  7. Make sure site is scheduled to start up by default.

注意以上第3项:这允许您将站点放在它们自己的目录中,这是一个常见的误解,认为您需要将所有站点发布在inetpub / wwwroot / ...中。

Part 3

只需在浏览器地址栏中键入:testsite/ 或 127.0.0.2/,您的网站就应该加载。如果目录发现关闭,您还需要输入默认页面...(例如,testsite/index.php)

我有一台机器运行着30个不同的网站,全部使用PHP来从单个安装中处理它们。上面的示例是为了开发测试,当你需要在IIS机器上实际使用DNS转发到IP地址时,你可以搜索它们之间的差异。





相关问题
热门标签