![IIS 7.0/PHP 和新网站在硬盘上的不同物理位置(不是 WWWROOT)存在问题](https://linux22.com/image/532321/IIS%207.0%2FPHP%20%E5%92%8C%E6%96%B0%E7%BD%91%E7%AB%99%E5%9C%A8%E7%A1%AC%E7%9B%98%E4%B8%8A%E7%9A%84%E4%B8%8D%E5%90%8C%E7%89%A9%E7%90%86%E4%BD%8D%E7%BD%AE%EF%BC%88%E4%B8%8D%E6%98%AF%20WWWROOT%EF%BC%89%E5%AD%98%E5%9C%A8%E9%97%AE%E9%A2%98.png)
首先祝贺在这里发帖并为更好的环境做出贡献的每个人......无论如何,让我们归结为问题。
步骤 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),它也会告诉您很多信息。这对第二个站点问题更有帮助。