IIS 7.0/PHP 和新网站在硬盘上的不同物理位置(不是 WWWROOT)存在问题

IIS 7.0/PHP 和新网站在硬盘上的不同物理位置(不是 WWWROOT)存在问题

首先祝贺在这里发帖并为更好的环境做出贡献的每个人......无论如何,让我们归结为问题。

步骤 1 - 我下载了适用于 Windows 7 x64 的 IIS 7.0 并进行了安装。一切运行正常,并按预期显示默认网站。

步骤 2 - 然后我下载了 PHP Web 平台安装程序,安装了 php ...以及 php 管理器 1.0。然后我在默认网站中创建了一个文件夹.....在其中放入一个 index.php,并使用 (phpinfo) 将这个新创建的文件夹转换为一个应用程序,然后它全部显示出来并运行良好....

步骤 3 - 当时我正在开发一个特定的 PHP 应用程序,它需要将文件保存到服务器上,但由于某种奇怪的原因无法保存.... 认为这一切都归结为文件夹权限... 所以我检查了权限,但文件夹从 inetpub 继承了权限... 并且我不会改变这一点... 因此我进入下一步

步骤 4 - 我尝试在 IIS 中创建一个新网站(文件位于硬盘上的不同物理位置...启用读写权限 - 完全控制)但它没有出现(文件夹中有 index.php)所以这很有趣所以我做了进一步的测试...

步骤 5-创建了一个新网站...进行了常规设置(默认应用程序池...插入了一个别名..并找到了我之前在 wwwroot 中创建的相同应用程序,看看它是否出现..但它没有出现.......................

现在我的想法很少。很奇怪,wwwroot 文件夹中的 php 应用程序可以正常工作,但似乎无法在这里进行保存操作……但同样奇怪的是,当我找到通过 localhost 运行的应用程序时,它无法在新创建的网站上运行,例如http://testmylocalphp.com(与上面相同的应用程序文件的物理路径)。

我真的非常感谢您的帮助。我想解决保存问题...并希望创建一个 phproot 文件夹,将其与 wwwroot 分开使用,并使其显示在浏览器中...这样我就可以将我的 php 工作放在其中...我将 wwwroot 用于 asp.net...

非常欢迎您就此主题提出意见。

我向大家致以最诚挚的问候

PS:我以前使用过IIS 6.0,但从未遇到过这些问题......

答案1

可能涉及 2 个用户帐户。一个是在应用程序池上设置的应用程序池标识,另一个是在网站上设置的匿名用户帐户(我假设您使用的是匿名)。

首先,在网站身份验证/匿名设置中,将其设置为使用应用程序池标识。这样你就只需要担心 1 个用户了。

对于应用程序池,您可以设置自定义用户,或使用 IIS APPPOOL{应用程序池名称}。这是需要磁盘写入权限的用户。还要确保 PHP 应用程序没有写入您预期以外的文件夹……没有权限的文件夹。

为什么 PHP 在另一个网站下无法工作,您是否收到任何错误或状态代码?可能是绑定不正确。

一些非常有用的工具包括: - sysinternals.com 的进程监视器。它非常容易学习,而且可以快速下载,而且是免费的。在重现问题时运行它。然后停止它,这样它就不会让您被数据淹没。搜索单词“denied”。它应该会直接跳转到您的问题所在。(对第一个站点和第二个站点问题都使用它) - IIS 日志将告诉您第二个问题的状态代码。 - 可以在站点级别设置失败请求跟踪 (FRT),它也会告诉您很多信息。这对第二个站点问题更有帮助。

相关内容