我需要在 IIS 上托管一个基于 php 的网站,但我遇到了一些 .php 文件的奇怪行为。
当我尝试打开 index.php 时,出现了死机白屏。没有错误日志(我已将其打开)。我想,我的代码可能有错误,尽管它在 Xampp 上运行正常,但我还是尝试了一些简单的代码:
<html>
<body>
<?php
echo "Hello World!";
?>
</body>
</html>
我打开了 xxxx/hello.php 但看到白屏。
这可能是由许多问题引起的,所以我开始测试它们,结果出现了奇怪的地方,因此:
我将内容相同的 hello.html 放在同一个目录中,但是其中没有 php 部分<p>Hello world</p>
。当我尝试打开 xxxx/hello.html 时,它可以正常工作,并且会显示 Hello world 文本。
所以我认为 .php 部分有问题。我将 phpinfo.php 放在<?php phpinfo(); ?>
inetpub/wwwroot。我打开 localhost/phpinfo.php 并加载了所有 php 信息内容。
然后我将hello.php复制到inetpub/wwwroot并打开localhost/hello.php,果然起作用了,浏览器显示了Hello world!
简而言之。在 inetpub/wwwroot 中,.php 文件可以正常工作,我可以在浏览器中运行它们。在我的站点的任何其他目录中,我都会看到白屏。但只有 .php 文件可以运行。Html 文件可以正常运行。
所以,我对这种奇怪的行为感到很困惑。我是 IIS 的新手,所以我可能忽略了一些东西,但现在我陷入困境,不知道该怎么办。虽然我能够在 inetpub/wwwroot 上运行网站,但这不是我想要的解决方案。
感谢您的所有帮助。
答案1
好吧,我放弃了。卸载然后重新安装所有东西,包括 .Net 框架、IIS、php 扩展等……现在它可以正常工作了。这可能是因为我没有安装 .NET Framework 3.5。我安装了版本 2xx 和 4xx,但似乎我忘了安装 3.5